UNITS! FIX UNITS! Development notes: /discover/nobackup/bweir/GEOS/runs/m2cc-v1_ana CH4 emissions: Negative fluxes lead to different outcomes INITIAL DEVELOPMENT TASK OUTLINE
Mass balance Run with a species ‘off’ water vapor feedback CO2 feedback from CO oxidation
Don’t want to make it ‘implied’, meaning that, for example, a user turns off CO by not including any instances.
Keep everything runtime controlled. As much as possible.
Convert to list? As a line of entries, it is compact.
What if name in passive list isn’t an instance? Error out. %%%
Surface/external fluxes have to be handled carefully
- fluxes ‘in’ can be added to a specific instance
- fluxes ‘out’ have to be partitioned evenly over all instances
Good to go. Rounoff error differences
fPBL is difference between GOCART::CO and GHG. Impacts PBL mixing of biomass emissions
Chem prod goes into residual Chem loss depletes all instances
cvfac is different between GOCART and GHG calls. Due to differences in AIRDEN. OH reaction is good otherwise.
Source terms may deplete individual instance bins But sink terms have to deplete the total (or all bins proportionally)It makes simple sense:
dC/dt = P - L
P is the linear production rate, and can be applied directly. L is the linear loss rate, but it has to be scaled by C_total
L/C_total = k, so that
dC/dt = P - kC
… EZPZ
So what we need to do is simply set up the prod & loss terms then we can do whatever we want.
currently relies on strings. String searches are wet blanketsGOCART initializes in mol/mol. GHG initializes in kg/kg This difference leads to differences order of 10 ppb at initialization (Jan20 2023) MW_CO2 is set at 44.0098. MW air is 28.965
There is an issue with passive instances impacting the aggregates. Not sure what the cause is.
1st REVISION DEVELOPMENT OUTLINE Currently in branch ‘activetotal’
GC-CH4 has 1 run method If, no chem, no photo, no turb/moist – revisit: End Aug 2023 OK from restart if emis & chem off – Don’t convert units from (kg/m2/s-1 to mol/mol/m2/s-1; test the I/O) OK from zero with EDGARv7 emissions
dCH4.nc.noNEGDIST.noDTM.blankRun1:
- the negative emissions are directly applied to the assoc instance rather than redistributed
- no DTM
- RRG’s Run1_ is executed, but does nothing. This synchronizes RRG’s and GOCART’s
Run methods. Before, with RRG’s Run1_ commented out, RRG’s Run2_ was being
run with GOCART’s Run1_. So maybe a slight met or timing impact
IT LOOKS LIKE THE ISSUE IS NEGATIVE SURFACE EXCHANGE (surface uptake) ONat is the only source that has negative surface exchange. If I turn ONAT off. dCH4 is very small (O(-11))
<<>> For now, just defined an active total and give it all surface fluxes. Make sure no other instances are active. Requirements
This can be done by forcing all instances to be ‘passive’ if active_total is .true. – added this to RRG_GridCompMod::ProcessInstances with the logical ‘isActive’ If a species is declared with activeTotal = .true. all instances other than ‘total’ are set to ‘passive’. This bypasses any aggregation activity by util_aggregate(). – NOTE: this also diables the utility of the *.residual instance. This will no longer initialize the fields. Users will have to define a restart field for the total instance … currently the total instance name is simply the name of the gas, e.g. CO, CO2, or CH4 Current Status