kristenkrumhardt / marbl Goto Github PK
View Code? Open in Web Editor NEWThis project forked from marbl-ecosys/marbl
Marine Biogeochemistry Library
License: Other
This project forked from marbl-ecosys/marbl
Marine Biogeochemistry Library
License: Other
--------------------------------- | MARBL Developers Mailing List | --------------------------------- You can join the MARBL developers mailing list at https://groups.google.com/forum/#!forum/marbl-dev ----------------------- | MARBL Documentation | ----------------------- MARBL documentation is compiled by sphinx and hosted by github pages. It can be found on the web at https://marbl-ecosys.github.io --------------- | About MARBL | --------------- The MARine Biogeochemistry Library (MARBL) is organized as follows: MARBL ├── MARBL_tools Python scripts to help GCMs configure MARBL ├── autogenerated_src ├── docs Documentation │ └── src RestructedText files (converted to HTML via sphinx) ├── include Subdirectories contain default location for module files | | to be included when linking the MARBL library | | * subdirectories for each compiler / MPI option │ ├── cray │ ├── gnu │ ├── gnu-mpi │ ├── intel │ ├── intel-mpi │ ├── nag │ ├── nag-mpi │ ├── pgi │ └── pgi-mpi ├── lib Default location of libmarbl.a (or libmarbl-[compiler].a) ├── src Source code for MARBL library (Fortran) └── tests ├── bld_tests Test the MARBL build system | (library build as well as fortran driver executable) ├── driver_exe Default location for marbl.exe (or marbl-mpi.exe) ├── driver_src Fortran source code for the stand-alone driver used | by the test system (calls into MARBL library) ├── input_files Input files for regression tests ├── obj Subdirectories contain default location for object files | | * subdirectories for each compiler / MPI option, which are | | then further divided to separate stand-alone driver objects | | from library objects │ ├── cray │ │ └── driver │ ├── gnu │ │ └── driver │ ├── gnu-mpi │ │ └── driver │ ├── intel │ │ └── driver │ ├── intel-mpi │ │ └── driver │ ├── nag │ │ └── driver │ ├── nag-mpi │ │ └── driver │ ├── pgi │ │ └── driver │ └── pgi-mpi │ └── driver ├── python_for_tests Python modules for code that is used by multiple test | scripts. E.g. routines to parse command line arguments, | build the library, or load modules on supported machines ├── regression_tests Tests that produce output with various MARBL configurations │ | so developers can quickly check the effect of new code │ ├── gen_input_file Generate a valid input file │ ├── init Run initialization │ ├── init-twice Initialize, finalize, and initialize again | | * Ensures memory is deallocated correctly in finalize │ ├── requested_diags List all diagnostics being provided by MARBL │ ├── requested_forcings List all forcing fields MARBL requests from GCM │ ├── requested_restoring List all tracers MARBL will apply restoring to │ └── requested_tracers List all tracers MARBL will provide tendencies for └── unit_tests Tests that check the functionality of small pieces of the code ├── get_put Make sure parameters are registered correctly for | get_setting() and put_setting() └── utils_routines Make sure all tools provided in marbl_utils_mod.F90 what they claim to do (esp. tests edge cases)
For POP, this will let users set OCN_BGC_CONFIG = cesm2.1+cocco
to get the correct tunings out of the box. This is tied to two other updates:
QCaCO3_max_exp
(just set QCaCO3_max
to 2.0 in the cocco settings file)settings_latest.yaml
file to settings_cesm2.1.yaml
The comments in compute_autotroph_calcification()
, specifically, were noticed because they are out of date (discussing biomass instead of growth). We should go through all of the comments and make sure they are correct.
temp_func_form_opt
a per-autotroph (and per-zooplankton) optiontemp_func_form_iopt_power
for power function scalingEnd result is that we don't need
if (lexplicit_calcifier(Tfunc_ind)) then
Tfunc(Tfunc_ind,:) = 0.12_r8 * (max(c0, min(temperature(:), 27.0_r8))**0.4_r8)
else
Tfunc(Tfunc_ind,:) = Q_10**(((temperature(:) + T0_Kelvin) - (Tref + T0_Kelvin)) / c10)
end if
in the Q10 block because that isn't a form of Q10 scaling.
in diagnostics_latest.yaml
(and JSON), the frequency for CaCO3_PROD
should be low
, not medium
; for your experiments, you'll need to change it to medium
in SourceMods/
.
Introduce an autotroph setting named is_carbon_limited
and then the updates to the diagnostics YAML file would be
((autotroph_sname))_C_lim_surf :
dependencies :
((autotroph_is_carbon_limited)) : true
longname : ((autotroph_lname)) C Limitation, Surface
units : 1
vertical_grid : none
frequency : medium
operator : average
((autotroph_sname))_C_lim_Cweight_avg_100m :
dependencies :
((autotroph_is_carbon_limited)) : true
longname : ((autotroph_lname)) C Limitation, carbon biomass weighted average over 0-100m
units : 1
vertical_grid : none
frequency : medium
operator : average
Notes:
MARBL_share.py
to add template_fill_dict['autotroph_is_carbon_limited']
marbl_diagnostics_mod.F90
if this new flag is trueA declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.