-
Notifications
You must be signed in to change notification settings - Fork 338
Description
A few design notes on how to bring Carbon Isotopes in the code as streams.
One change is to store the C13/C14 on the model grid (this is an increase in memory, but it scales with processors).
A common pattern for stream handling is to have: Init, Clean, Advance, and Interp methods, so we use that here.
New namelist data:
-
stream_meshfile_atm_c14
-
stream_year_first_c14
-
stream_year_last_c14
-
stream_year_first_c13
-
stream_year_last_c13
Hardcoded options:
- atm_c14_mapalgo (hardcode this to nn for now)
- atm_c14_tintalgo (hardcode this to linear for now)
- atm_c14_taxmode (hardcode this to extend for now)
- atm_c13_mapalgo (hardcode this to nn for now)
- atm_c13_tintalgo (hardcode this to linear for now)
- atm_c13_taxmode (hardcode this to extend for now)
New files:
-
src/cpl/share_esmf/CarbonIsotopeStreamType.F90
-
Description: Carbon isotope stream data for C13 and C14
-
Data:
- with delta_c13_stream_type, delta_c14_stream_type
- g_to_ig index array private and local
- Have the data in here have the same units as the dataset, in the deltac13co2_in_air and Delta14cos_in_air units
-
Methods: (both delta_c13_stream_type and delta_c14_stream_type
- Init
- Clean
- Advance
- Interp
- Move the check_units subroutine from CNCIsoAtmTimeSeriesReadMod to here (check both units and info)
-
unit_test_stubs/share_esmf/CarbonIsotopeStreamType.F90
-
Description: Stub version for unit tests
Changes to these files:
- src/biogeochem/CNCIsoAtmTimeSeriesReadMod.F90
- Data:
- Remove: *_time, time_axis_offset, nsectors_c14 data
- Add delta_c13_stream, delta_c14_stream instances
- Changes units from deltac13co2 and Deltac14co2 to model units
- Methods:
-
subroutine C14_init_BombSpike -- most removed -- calls deltac13_stream%Init, delta_c13_stream%Advance
-
subroutine C13_Init_TimeSeries -- most removed -- calls deltac14_stream%Init, delta_c14_stream%Advance
-
subroutine C13TimeSeries -- much removed, call the delta_c13_stream%Advance and delta_c13_stream%Interp methods
RETURN pointer to deltac13 data(begg:endg) -
subroutine C14BombSpike -- much removed, call the delta_c14_stream%Advance and delta_c14_stream%Interp methods
RETURN pointer to deltac14 data(begg:endg) -
subroutine check_units -- move to CarbonIsotopeStreamType.F90
-
subroutine CIsoAtmReadNML -- (NEW) read in the namelist: carbon_isotope_streams
-
Changes to:
src/biogeophys/PhotosynthesisMod.F90
- Methods:
- subroutine PhotosynthesisTotal -- nsectors_c14 removed, rc14_atm and rc13_atm become gridcell arrays: begg:endg
- remove the latdeg and sector_c14 determination
- subroutine PhotosynthesisTotal -- nsectors_c14 removed, rc14_atm and rc13_atm become gridcell arrays: begg:endg
Metadata
Metadata
Assignees
Labels
Type
Projects
Status