Yacht Freelance
Freelance Java Ontwikkelaar (ZZP)
Graag ontvangen we een CV waaruit duidelijk blijkt dat je in ieder geval aan de harde eisen voldoet. Laat dit ook duidelijk naar voren komen in je motivatiebrief.
CV en motivatie in het Nederlands
Motivatiebrief is verplicht
We gaan we via deze opdracht verder met het ingezette verbetertraject in samenwerking tussen het IMAGE team en opdrachtnemer:
Doorontwikkeling van een Python package als basis voor de ontwikkeling van simulatiemodellen (prism ) in het algemeen, voor het IMAGE raamwerk in het bijzonder.
Vertaling (1) en verbetering (2) van de TIMER en FAIR modellen van MyM naar Python. Bij de eerste stap van de vertaling is het doel om op niveau van individuele componenten resultaten één-op-één te kunnen reproduceren (met een bepaalde foutmarge); in de tweede stap richten we ons op het verbeteren van de kwaliteit van de code, het reduceren van duplicatie en het beschikbaar stellen van generieke functionaliteit op modelniveau of het niveau van prism .
Verder vinden er binnen het IMAGE team activiteiten plaats ter voorbereiding van een vertaling en verbetering van het IMAGE-land model naar Python.
Daarnaast richten we ons ook op de data- en modeltools die worden toegepast in relatie tot de modellen:
Refactoring van pre- en postprocessing tools en vertaling en verbetering van de IMAGE raamwerk run-environment scripts (de ‘1click-tools’, wordt: cobra ). De run-environment scripts zijn nu een collectie batch files, dat wordt een Python package .
Deze activiteiten dragen bij aan de volgende kwaliteitsaspecten:
vergroten van de leesbaarheid van de modelcode, o.a. door betere naamgeving en style guide
verbeteren van de modelstructuur met één duidelijk doel voor elke bouwblok (model)code
verbeteren van de documentatie van de modelcode, met name van prism en nieuw toe te voegen gedeelde functionaliteit
toepassen van tests bij de transitie van MyM naar Python en incrementeel test coverage vergroten
toevoegen van scenario metadata, zowel op variabele als scenarioniveau, o.a. ter verhoging van reproduceerbaarheid
vernieuwen van versiebeheer op modelcode en data
efficiënter en consistenter maken van databeheer
PBL is een onafhankelijke kennisinstelling van de rijksoverheid. Met het IMAGE instrumentarium wordt onderzoek gedaan naar mondiale milieuproblematiek. Daarbij wordt op basis van In het IMAGE Python transitie project wordt een kwaliteitsslag beoogd voor het IMAGE raamwerk van modellen. Eerder is al gestart met een transitie van het huidige modelraamwerk naar een raamwerk gemodelleerd voornamelijk in Python. Daarbij is een Python package (genaamd prism) ontwikkeld voor wetenschappelijke simulatiemodellen, zoals in het huidige IMAGE raamwerk en een start gemaakt met het omzetten van het huidige modelraamwerk naar Python.
De ideale kandidaat voldoet aan de volgende eisen:
Wetenschappelijk progammeren: PhD/Master
Minimaal 3 jaar ervaring in het volgende:
Expertise in scientific programming, bekend met relevante numerieke en wetenschappelijke methoden
Expertise in wetenschappelijk modelleren en programmeren in Python
Expertise in architectuur en ontwerp van wetenschappelijke software
Ervaring met het Python scientific ecosystem (o.a. NumPy, Numba, SciPy, Xarray)
Ervaring met integrated assessment modelling en simulatiemodellen
Ervaring met simulatietaal MyM (www.my-m.eu) en programmeertaal FORTRAN
Deze expertise en ervaring kan ingevuld worden door meerdere personen, die elkaar aanvullen in skillsets en ervaringsniveau.
Wensen:
Uitstekende beheersing van de Engelse taal
Kunnen toepassen van best practices rondom versiebeheer met GitHub, testen en documentatie in de context van een Python ecosysteem
Kunnen samenwerken met modelleurs en onderzoekers om tot een gezamenlijk resultaat te komen, dit vereist goede communicatieve vaardigheden, het kunnen overbruggen van kennisdomeinen en het overdragen van kennis over programmeren en wetenschappelijk modelleren.