Model E SUBDDs read and interpret GEOS-Chem StateMet#102
Model E SUBDDs read and interpret GEOS-Chem StateMet#102joewallwork wants to merge 27 commits intodevelopfrom
StateMet#102Conversation
7ea571a to
01d5d76
Compare
| State_Met%GWETTOP (II,JJ) = 0.0 | ||
| if ( fearth(i,j) .gt. 0 ) then | ||
| State_Met%GWETROOT (II,JJ) = (wearth(i,j)+aiearth(i,j))/(wfcs(i,j)+1e-20) | ||
| State_Met%GWETTOP (II,JJ) = (wearth(i,j)+aiearth(i,j))/(wfcs(i,j)+1e-20) | ||
| else | ||
| State_Met%GWETROOT (II,JJ) = 1 ! Set to 1 over oceans to match MERRA-2 | ||
| State_Met%GWETTOP (II,JJ) = 1 ! Set to 1 over oceans to match MERRA-2 |
There was a problem hiding this comment.
This seemed to me to be a typo.
| ! Convective cloud depth [m] | ||
| State_Met%CONV_DEPTH (II,JJ) = cth_save(i,j) |
There was a problem hiding this comment.
Review task: check this is the right array to use.
| ! Lightning flash density [km-2 s-1] | ||
| State_Met%FLASH_DENS (II,JJ) = flash_dens(i,j) |
There was a problem hiding this comment.
Review task: check this is the right array to use.
2892336 to
145c1c4
Compare
| ! Dry air mass [kg] | ||
| State_Met%AD (II,JJ,K) = mma(i,j,k) | ||
|
|
||
| ! Dry air density [kg m-3] | ||
| ! NOTE: Formula from DIFFG function definition in model/DRYDEF.f with pressure PMID | ||
| State_Met%AIRDEN (II,JJ,K) = PMID(II,JJ,K)*avog*bygasc/t(i,j,k)*pk(k,i,j) | ||
|
|
||
| ! Volume of grid box [m3] | ||
| ! TODO: State_Met%AIRVOL (II,JJ,K) = ??? | ||
| ! NOTE: We could calculate this using State_Grid%XEdge and State_Grid%YEdge but what | ||
| ! about the edge cases? | ||
|
|
||
| ! Water vapor mixing ratio (w/r/t dry air) | ||
| ! NOTE: QSAT is a function defined in model/shared/Utilities.F90 | ||
| State_Met%AVGW (II,JJ,K) = QSAT(t(i,j,k)*pk(k,i,j),LHE,pmid(k,i,j)) | ||
|
|
||
| ! Grid box height [m] | ||
| ! NOTE: This is the geopotential height from Model E. Do we need to deduce the heights | ||
| ! from the GEOS-Chem State_Grid derived type? | ||
| State_Met%BXHEIGHT (II,JJ,K) = gz(i,j,k) |
There was a problem hiding this comment.
Review task: check these are the right arrays to use and suggest what to do for the case of AIRVOL.
| ! Potential temperature [K] | ||
| State_Met%THETA (II,JJ,K) = t(i,j,k) |
There was a problem hiding this comment.
Review task: check this is the right array to use.
| ! Delta-pressure across grid box(wet air) [hPa] | ||
| ! NOTE: Based on EdgePressure_GISS and DeltPressure_GISS from model/FV_UTILS.f | ||
| ! NOTE: Some of the conditional logic related to the RESOLUTION module was dropped | ||
| ! here because we aren't using GISS grids. | ||
| ! NOTE: Surely the calculation is flawed at the top level? | ||
| ! NOTE: Uses PMID for pressure, which probably isn't right. | ||
| State_Met%DELP (II,JJ,K) = (SIGE(K)*PMID(II,JJ,K) - SIGE(K+1)*PMID(II,JJ,K)) | ||
|
|
||
| ! Delta-pressure across grid box (dry air) [hPa] | ||
| ! TODO: State_Met%DELPDRY (II,JJ,K) = ??? | ||
|
|
There was a problem hiding this comment.
Review task: check these are the right arrays to use and suggest what to do for the case of DELPDRY.
| ! Pressure (w/r/t dry air) at level edges [hPa] | ||
| ! TODO: State_Met%PEDGE_DRY (II,JJ,K) = ??? |
There was a problem hiding this comment.
Review task: suggest array to use here.
StateMet
4050105 to
85ee764
Compare
|
[Rebased on top of |
* add units for prodloss fields * define prodloss 3d fields * hook up prodloss 3d fields * Loop cases for prodloss SUBDD setup (#116) * Convert Model E -> GEOS-Chem transfers to TODOs * Use valid derived type; loop over products and losses * Loops over products and losses for data transfer --------- Co-authored-by: Joe Wallwork <jw2423@cam.ac.uk> Co-authored-by: Adeleke Bankole <ab3191@login-q-2.data.cluster>
| ! Loop over all products | ||
| do n=1,nprod | ||
| ! TODO: State_Diag%Prod(n,II,JJ,K) = ??? | ||
| end do ! products loop | ||
|
|
||
| ! Production of hydrophilic black carbon from hydrophobic black carbon [kg] | ||
| ! TODO: State_Diag%ProdBCPIfromBCPO (II,JJ,K) = ??? | ||
|
|
||
| ! Production of hydrophilic organic carbon from hydrophobic organic carbon [kg] | ||
| ! TODO: State_Diag%ProdOCPIfromOCPO (II,JJ,K) = ??? | ||
|
|
||
| ! Production of HMS from aqueous reaction of SO2 and HCHO in clouds [kg S s-1] | ||
| ! TODO: State_Diag%ProdHMSfromSO2andHCHOinCloud (II,JJ,K) = ??? | ||
|
|
||
| ! Production of SO2 and HCHO from aqueous reaction of HS and OH- in clouds [kg S s-1] | ||
| ! TODO: State_Diag%ProdSO2andHCHOfromHMSinCloud (II,JJ,K) = ??? | ||
|
|
||
| ! Production of SO4 from aqueous oxidation of O3 in clouds [kg S s-1] | ||
| ! TODO: State_Diag%ProdSO4fromHMSinCloud (II,JJ,K) = ??? | ||
|
|
||
| ! Production of SO4 from aqueous oxidation of H2O2 in clouds [kg S s-1] | ||
| ! TODO: State_Diag%ProdSO4fromH2O2inCloud (II,JJ,K) = ??? | ||
|
|
||
| ! Production of SO4 from aqueous oxidation of O2 from metals in cloud [kg S] | ||
| ! TODO: State_Diag%ProdSO4fromO2inCloudMetal (II,JJ,K) = ??? | ||
|
|
||
| ! Production of SO4 from aqueus oxidation of O3 in cloud [kg S s-1] | ||
| ! TODO: State_Diag%ProdSO4fromO3inCloud (II,JJ,K) = ??? | ||
|
|
||
| ! Production of SO4 from O3 in sea salt [kg S s-1] | ||
| ! TODO: State_Diag%ProdSO4fromO3inSeaSalt (II,JJ,K) = ??? | ||
|
|
||
| ! Production of SO4 from aqueus oxidation of HOBr in clouds [kg S s-1] | ||
| ! TODO: State_Diag%ProdSO4fromHOBrInCloud (II,JJ,K) = ??? | ||
|
|
||
| ! Production of SO4 from sulphur production rate of O3 [kg S s-1] | ||
| ! TODO: State_Diag%ProdSO4fromSRO3 (II,JJ,K) = ??? | ||
|
|
||
| ! Production of SO4 from sulphur production rate of HOBr + O3 [kg S s-1] | ||
| ! TODO: State_Diag%ProdSO4fromSRHObr (II,JJ,K) = ??? | ||
|
|
||
| ! Production of SO4 from aqueous phase SO3 loss by OH [kg S s-1] | ||
| ! TODO: State_Diag%ProdSO4fromO3s (II,JJ,K) = ??? | ||
|
|
||
| ! Loop over all losses | ||
| do n=1,nloss | ||
| ! TODO: State_Diag%Loss(n,II,JJ,K) = ??? | ||
| end do ! losses loop | ||
|
|
||
| ! Loss of HNO3 on sea salt aerosols [kg s-1] | ||
| ! TODO: State_Diag%LossHNO3onSeaSalt (II,JJ,K) = ??? | ||
|
|
||
| ! Production of CO from CH4 [kg s-1] | ||
| ! TODO: State_Diag%ProdCOfromCH4 (II,JJ,K) = ??? | ||
|
|
||
| ! Production of CO from NMVOCs SO3 - loss by OH [kg s-1] | ||
| ! TODO: State_Diag%ProdCOfromNMVOC (II,JJ,K) = ??? |
There was a problem hiding this comment.
The Model E arrays for these diagnostics still need to be determined.
Towards #29.
Closes #103.
Supersedes #84.
I separated out the previous PR into two. PR #101 adds the
HISTORY.rcfile for GISS Model E. This PR contains the code changes required for having Model E's SUBDDs read and interpret theStateMetcomponents of GEOS-Chem'sState_Diagderived type.[To create this branch, I rebased the
history-rc-file-for-model-e branchon top ofdevelop, dropping commits related to theHISTORY.rcfile.]