Use USTAR read from GEOS instead of calculating from U10M and V10M
Name and Institution (Required)
Name: Yuanjian Zhang Institution: WashU
Describe the update
Use USTAR friction velocity from meteorology instead of calculating from wind at 10m. Comment out unused codes after this update but keep them following tradition.
Expected changes
Friction velocity is estimated to increase by 3 times. Dust emission is estimated to increase by 30 times, since dust emission is proportional to cube of friction velocity. Therefore, dust scaling factor needs to be recalculated. Following Meng, J.,et al, 2021, global annual dust emission for 2016 is scaled to 2000Tg.
Scaling factor GEOS-IT: 2.6421e-05 MERRA-2: 3.8891e-05 GEOS-FP: 3.0655e-05
Related Github Issue
#278
Also, this PR will need to go into GC 14.5.0 / HEMCO 3.10.0, as this will change the fullchem benchmark simulation results. I've changed the target branch accordingly.
@lizziel: If we remove the code in the dust extension to compute USTAR (friction velocity), would this prove to be a problem for other models like CESM? I presume that is one of the meteorological variables available.
@yantosca: Removing the computation of USTAR in the dust extension is fine since we already have it available for use in drydep.
@yuanjianz @ltmurray: Would you know what the scaling factor would be for the GCAP2 meteorology?
I don't know what the scaling factor would be for GCAP2, which is presently tuned given the existing parameterization. USTAR has been archived for GCAP2 though.
@yuanjianz @msulprizio @ltmurray @lizziel: We would need a companion PR to go along with this to update the setting of the $RUNDIR_DUSTDEAD_TF variable in the createRunDir.sh scripts for GCClassic and GCHP.
The current settings in run/GCClassic/createRunDir.sh are:
#----------------------------------------------------------------
# Horizontal resolution-dependent settings
#-----------------------------------------------------------------
if [[ ${met} = "ModelE2.1" ]]; then
if [[ "$runid" == "E213f10aF40oQ40nudge" ]]; then
if [[ "$grid_res" == "4x5" ]]; then
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.00474046'\n"
elif [[ "$grid_res" == "2x25" ]]; then
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.00243979'\n"
elif [[ "$grid_res" == "05x0625" ]]; then
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.00276896'\n"
elif [[ "$grid_res" == "025x03125" ]]; then
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.00254319'\n"
else
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='-999.0e0'\n"
fi
else
if [[ "$grid_res" == "4x5" ]]; then
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.03564873'\n"
elif [[ "$grid_res" == "2x25" ]]; then
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.01050036'\n"
elif [[ "$grid_res" == "05x0625" ]]; then
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.01340854'\n"
elif [[ "$grid_res" == "025x03125" ]]; then
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='0.01066495'\n"
else
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='-999.0e0'\n"
fi
fi
else
RUNDIR_VARS+="RUNDIR_GISS_RES='not_used'\n"
# Use GEOS-FP values as placeholders for GEOS-IT until parameters derived
if [[ "x${sim_name}" == "xfullchem" || "x${sim_name}" == "xaerosol" ]]; then
if [[ "x${met}" == "xgeosfp" && "x${grid_res}" == "x4x5" ]]; then
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='8.3286e-4'\n"
elif [[ "x${met}" == "xgeosfp" && "x${grid_res}" == "x2x25" ]]; then
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='5.0416e-4'\n"
elif [[ "x${met}" == "xmerra2" && "x${grid_res}" == "x4x5" ]]; then
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='7.8533e-4'\n"
elif [[ "x${met}" == "xmerra2" && "x${grid_res}" == "x2x25" ]]; then
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='4.7586e-4'\n"
elif [[ "x${met}" == "xgeosit" && "x${grid_res}" == "x4x5" ]]; then
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='8.3286e-4'\n"
elif [[ "x${met}" == "xgeosit" && "x${grid_res}" == "x2x25" ]]; then
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='5.0416e-4'\n"
else
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='-999.0e0'\n"
fi
else
RUNDIR_VARS+="RUNDIR_DUSTDEAD_TF='-999.0e0'\n"
fi
fi
@yuanjianz @yidant: Would either of you be able to compute the dust scale factors (see above post)?
@yuanjianz @yidant: Would either of you be able to compute the dust scale factors (see above post)?
Hi @yantosca, sorry for the late response. I will try to work on this with Yidan.
@yidant, do we have GCAP2 archive at WashU?
Thanks @yidant & @yuanjianz. When you can get to this. Not immediately urgent.
Hi @yantosca, I haven't got the chance to touch base on GCAP2 yet. But I have already calculated dust scale factors for 2x2.5 and 4x5 for MERRA-2, GEOS-FP and GEOS-IT. See https://github.com/geoschem/geos-chem/pull/2512. Tag @ltmurray @yidant for help of running HEMCO standalone with GCAP2 meteorology.
Hi @yantosca @yuanjianz and @ltmurray, we discussed this issue during today's GCST meeting. Let's enable this feature implementation to proceed for GEOS-IT, Merra-2 and GEOS-FP since that information has already been provided. The GCAP implementation could continue to use the older based on U10m and V10m fields with a warning message.
All GEOS-Chem Classic integration tests passed:
==============================================================================
GEOS-Chem Classic: Execution Test Results
CodeDir : b7e6523 GEOS-Chem update: Merge PR #2683 (Restore clobbered TMB updates)
GEOS-Chem : 015246bf3 Merge 14.6.0-alpha.2 into feature/dust-scale-factors-Ustar
HEMCO : 096fefc Merge HEMCO 3.10.1 into bugfix/dustdead-ustar-geos
Cloud-J : f8a2b7f Update version number for 8.0.1 release
HETP : 2a99b24 Merge pull request #2 from geoschem/bugfix/initialize_local_variables
Using 24 OpenMP threads
Number of execution tests: 30
Submitted as SLURM job: 66876678
==============================================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% All execution tests passed! %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
All GEOS-Chem Classic integration tests passed:
==============================================================================
GEOS-Chem Classic: Execution Test Results
CodeDir : b7e6523 GEOS-Chem update: Merge PR #2683 (Restore clobbered TMB updates)
GEOS-Chem : 015246bf3 Merge 14.6.0-alpha.2 into feature/dust-scale-factors-Ustar
HEMCO : 096fefc Merge HEMCO 3.10.1 into bugfix/dustdead-ustar-geos
Cloud-J : f8a2b7f Update version number for 8.0.1 release
HETP : 2a99b24 Merge pull request #2 from geoschem/bugfix/initialize_local_variables
Using 24 OpenMP threads
Number of execution tests: 30
Submitted as SLURM job: 66876678
==============================================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% All execution tests passed! %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
All GCHP integration tests passed:
==============================================================================
GCHP: Execution Test Results
CodeDir : 3089c38 GEOS-Chem update: Merge PR #2683 (Restore clobbered TMB updates)
MAPL : 9ad63ae Merge PR #37 containing update to vertically flip imports with dimensionless pressure proxy lev coordinates
GMAO_Shared : 4ddb3ec Merge pull request #2 from geoschem/feature/mapl-upgrade
ESMA_cmake : ad5deba Added ecbuild as a submodule of ESMA_cmake
gFTL-shared : 4b82492 Merge branch 'upstream_v1.5.0' into feature/v1.5.0
FMS : 259759d Merge pull request #3 from geoschem/feature/update_gmao_libs
FVdycoreCubed : af42462 Merge PR #8 (Add PLEadv diagnostic for offline advection in GCHP)
geos-chem : 015246bf3 Merge 14.6.0-alpha.2 into feature/dust-scale-factors-Ustar
HEMCO : 096fefc Merge HEMCO 3.10.1 into bugfix/dustdead-ustar-geos
yaFyaml : 19afe50 Merge branch 'upstream_v1.0.4' into feature/v1.0.4
pFlogger : 2c4b724 Merge branch 'upstream_v1.9.1' into feature/v1.9.1
Cloud-J : f8a2b7f Update version number for 8.0.1 release
HETP : 2a99b24 Merge pull request #2 from geoschem/bugfix/initialize_local_variables
Number of execution tests: 12
Submitted as SLURM job: 66899697
==============================================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% All execution tests passed! %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
We are re-running integration tests after having merged locally atop 14.6.0-alpha.4.
After merging on top of 14.6.0-alpha.4, all GCHP integration tests passed:
==============================================================================
GCHP: Execution Test Results
CodeDir : 2f6dc98 Merge PR #471 (Increased memory for GCHP cloud benchmarks)
MAPL : 9ad63ae Merge PR #37 containing update to vertically flip imports with dimensionless pressure proxy lev coordinates
GMAO_Shared : 4ddb3ec Merge pull request #2 from geoschem/feature/mapl-upgrade
ESMA_cmake : ad5deba Added ecbuild as a submodule of ESMA_cmake
gFTL-shared : 4b82492 Merge branch 'upstream_v1.5.0' into feature/v1.5.0
FMS : 259759d Merge pull request #3 from geoschem/feature/update_gmao_libs
FVdycoreCubed : af42462 Merge PR #8 (Add PLEadv diagnostic for offline advection in GCHP)
geos-chem : d132546db Merge PR #2512 (Update dust SFs for DustDEAD w/ USTAR)
HEMCO : 2423647 Merge PR #279 (Use USTAR from met in DustDEAD extension)
yaFyaml : 19afe50 Merge branch 'upstream_v1.0.4' into feature/v1.0.4
pFlogger : 2c4b724 Merge branch 'upstream_v1.9.1' into feature/v1.9.1
Cloud-J : f8a2b7f Update version number for 8.0.1 release
HETP : 2a99b24 Merge pull request #2 from geoschem/bugfix/initialize_local_variables
Number of execution tests: 12
Submitted as SLURM job: 467494
==============================================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% All execution tests passed! %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%