update for dev2 realtime run#1498
Conversation
| INTERP_WEIGHTS_DIR=${CHEM_INPUT}/grids/interpolation_weights/ | ||
| SCRIP_FILES_DIR=${CHEM_INPUT}/grids/scrip_files/ | ||
| # Now set the same for the scrip file: | ||
| if [[ "${SCRIP_FILES_DIR}/mpas_${MESH_NAME}_scrip.nc" ]]; then |
| GOES_INPUT=/scratch4/BMC/zrtrr/jdduda/smoke_mask/GOES | ||
| # output directories | ||
| GOES_OUTPUTDIR=${DATA} | ||
| OUTPUTFILE=${UMBRELLA_PREP_CHEM_DATA}/goes.aod.init.nc |
| export CHEM_GROUPS="smoke" # any combinations of "smoke, anthro, pollen, dust, rwc" | ||
| export EBB_DCYCLE=1 | ||
| export EBB_DCYCLE=-1 | ||
| export REGRID_WRAPPER_DIR="${HOMErrfs}/sorc/regrid-wrapper" |
| ncwa -O -a LAY,COL "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncwa -O -a LAY,COL,TSTEP "${NEMO_STACKFILE_PROCESSED}" "${NEMO_STACKFILE_PROCESSED}" | ||
| # Cast the stack parameters through time | ||
| ncap2 -O -s 'e_ant_pt_in_unspc_fine[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_unspc_fine' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" |
| ncwa -O -a LAY,COL,TSTEP "${NEMO_STACKFILE_PROCESSED}" "${NEMO_STACKFILE_PROCESSED}" | ||
| # Cast the stack parameters through time | ||
| ncap2 -O -s 'e_ant_pt_in_unspc_fine[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_unspc_fine' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_unspc_coarse[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_unspc_coarse' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" |
| @@ -0,0 +1,19 @@ | |||
| prepend_path("MODULEPATH", "/gpfs/f6/bil-fire8/world-shared/Benjamin.Koziol/mpas-aerosols/spack-stack/envs/mpas-aerosols/modules/Core") | |||
There was a problem hiding this comment.
We usually don't do this way. Let's discuss this first.
| config_gfl_sub3d = 1/" namelist.atmosphere | ||
| fi | ||
|
|
||
| if [[ "${MESH_NAME^^}" == "FWX1.25km" ]]; then |
There was a problem hiding this comment.
We don't use if switches based on MESH_NAME inside j-jobs and ex-scripts.
Also config_lbc_w = 'zero' should be a standard option now, right?
| -e "${mpasout_replacement}" "${PARMrrfs}"/streams.atmosphere > streams.atmosphere | ||
| # | ||
| if [[ "${mpasout_interval,,}" == "none" ]]; then # remove the da_state stream for coldstart only forecasts | ||
| #if [[ "${mpasout_interval,,}" == "none" ]]; then # remove the da_state stream for coldstart only forecasts |
There was a problem hiding this comment.
We cannot comment out this part. Let us talk about a better way to address the Chem needs.
There was a problem hiding this comment.
I agree. When I run with rrfsx/MPAS-Model, we don't need to comment out this part. However, we have to comment out this when run with ufs-community/MPAS-Model
There was a problem hiding this comment.
Fixed as suggested. Thanks!
| # 3. CHEM_INPUT -- location of interpolated files, ready to be used | ||
| # 4. MESH_NAME -- name of the MPAS domain, required to know if we have weights or data intepolated to the domain | ||
| # 4. MESH_NAME -- name of the MPAS domain, required to know if we have weights or data intepolated to the domain | ||
| # TEST COMMIT |
There was a problem hiding this comment.
Line 18 can be removed
There was a problem hiding this comment.
Will remove line 18. Thanks!
There was a problem hiding this comment.
Removed as suggested.
There was a problem hiding this comment.
We cannot use the ufs-community/MPAS-Model directly as it misses the output_timelevels and output_done_marker
There was a problem hiding this comment.
I have a pending PR (ufs-community/MPAS-Model#240). Should I update the PR with output_timelevels and output_done_marker? Thanks!
There was a problem hiding this comment.
We have two routes:
(1) We get ufs-community/MPAS-Model#240 merged first; then merge the changes to rrfsx/MPAS-Model which already has output_timelevels and output_done_marker
(2) If you need the above PR #240 change earlier, you can create a PR to rrfsx/MPAS-Model.
There was a problem hiding this comment.
I just submitted a PR (RRFSx/MPAS-Model#25) to rrfsx/MPAS-Model. Thanks!
| if [[ "${CHEM_GROUPS,,}" == *pollen* ]]; then | ||
| if [[ -s "${UMBRELLA_PREP_CHEM_DATA}/bio.init.nc" ]]; then | ||
| sed -i "\${e} cat ${PARMrrfs}/chemistry/streams.atmosphere.pollen" streams.atmosphere # append before the last line (i.e. </stream>) | ||
| sed -i "\$e cat ${PARMrrfs}/chemistry/streams.atmosphere.pollen" streams.atmosphere # append before the last line (i.e. </stream>) |
There was a problem hiding this comment.
why change ${e} to $e?
There was a problem hiding this comment.
Will change
There was a problem hiding this comment.
for some reason the brackets cause this command to fail
There was a problem hiding this comment.
I cannot remember exactly, but I think I manually tested ${e} in this command and it worked.
I will double check this. If it fails, we are fine to use $e. Thanks!
| # if [[ "${CHEM_GROUPS,,}" == *ssalt* ]]; then | ||
| # ncap2 -O -s "ssalt_fine=1.e-12*qv" init.nc init.nc | ||
| # ncap2 -O -s "ssalt_coarse=1.e-12*qv" init.nc init.nc | ||
| # fi |
There was a problem hiding this comment.
Lines 35-61: Are they still needed? If not, we can remove them
| fi # Is GRA2PES listed as one of the anthro inventories? | ||
|
|
||
|
|
||
| # Now for NEMO emissions |
There was a problem hiding this comment.
there are additional helper scripts needed for the NEMO implemetnation
chem_create_merge_dates_ann.py
chem_get_merge_date.py
chem_merge_emissions.py
chem_merge_pt_emissions.py
| source "${USHrrfs}"/chem_prep_goes_aod.sh | ||
| fi | ||
|
|
||
| if [[ "${CHEM_GROUP}" == "dust" ]]; then |
There was a problem hiding this comment.
we will need to update the FIX files for dust based on the name changes in MPAS-Model
| err_exit | ||
| fi | ||
| fi | ||
| ncap2 -O -s 'frp_in=frp_in.ttl($nkwildfire)' -s 'fre_in=fre_in.ttl($nkwildfire)' "${EMISFILE}" "${EMISFILE}" |
There was a problem hiding this comment.
please see latest commits - this dimension summing should only occur for the actual RAVE files, the dummy files will already have the correct dimensions
| url = https://github.com/RRFSx/MPAS-Model | ||
| branch = gsl/develop | ||
| url = https://github.com/haiqinli/MPAS-Model | ||
| branch = gsl/develop-mp-emission |
There was a problem hiding this comment.
@haiqinli Could you merge the latest rrfs-mpas-jedi branch and then revert changes in lines 8-9? Thanks!
There was a problem hiding this comment.
Updated as suggested. Thanks!
| # Cast the stack parameters through time | ||
| ncap2 -O -s 'e_ant_pt_in_unspc_fine[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_unspc_fine' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_unspc_coarse[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_unspc_coarse' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_co[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_co' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" |
| ncap2 -O -s 'e_ant_pt_in_unspc_fine[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_unspc_fine' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_unspc_coarse[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_unspc_coarse' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_co[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_co' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_nox[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_nox' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" |
| ncap2 -O -s 'e_ant_pt_in_unspc_coarse[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_unspc_coarse' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_co[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_co' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_nox[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_nox' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_nh3[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_nh3' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" |
| ncap2 -O -s 'e_ant_pt_in_co[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_co' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_nox[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_nox' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_nh3[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_nh3' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_so2[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_so2' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" |
| ncap2 -O -s 'e_ant_pt_in_nox[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_nox' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_nh3[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_nh3' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_so2[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_so2' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_nh4_a_fine[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_nh4_a_fine' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" |
| ncap2 -O -s 'e_ant_pt_in_nh3[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_nh3' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_so2[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_so2' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_nh4_a_fine[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_nh4_a_fine' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_no3_a_fine[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_no3_a_fine' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" |
| ncap2 -O -s 'e_ant_pt_in_so2[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_so2' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_nh4_a_fine[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_nh4_a_fine' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_no3_a_fine[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_no3_a_fine' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" | ||
| ncap2 -O -s 'e_ant_pt_in_so4_a_fine[$Time,$TSTEP,$nanthro_pt]=e_ant_pt_in_so4_a_fine' "${NEMO_EMISFILE_PT_PROCESSED}" "${NEMO_EMISFILE_PT_PROCESSED}" |
| ncrename -v NOx,e_bb_in_nox "${EMISFILE2}" | ||
| ln -sf "${EMISFILE2}" "${EMISFILE}" | ||
| # TODO temporary fix until YAML options are built into regriddder | ||
| ncap2 -O -s 'frp_in=frp_in.ttl($nkwildfire)' -s 'fre_in=fre_in.ttl($nkwildfire)' "${EMISFILE}" "${EMISFILE}" |
| ncrename -v NOx,e_bb_in_nox "${EMISFILE2}" | ||
| ln -sf "${EMISFILE2}" "${EMISFILE}" | ||
| # TODO temporary fix until YAML options are built into regriddder | ||
| ncap2 -O -s 'frp_in=frp_in.ttl($nkwildfire)' -s 'fre_in=fre_in.ttl($nkwildfire)' "${EMISFILE}" "${EMISFILE}" |
| export MPASSIT_DX=1000.0 | ||
| export MPASSIT_REF_LAT=37.0 | ||
| export MPASSIT_REF_LON=-119.0 | ||
|
|
There was a problem hiding this comment.
Lines 100-111: remove the "garnetSm1km" section
There was a problem hiding this comment.
Removed as suggested. Thanks!
| } | ||
| trap cleanup SIGINT SIGTERM | ||
| else | ||
| echo "Info: Not slurm nor PBS" |
There was a problem hiding this comment.
merge the latest rrfs-mpas-jedi branch so that the changes on the left side are not overwritten accidentally.
There was a problem hiding this comment.
Merged the latest rrfs-mpas-jedi branch.
| #!/usr/bin/env python3 | ||
| import argparse | ||
| import numpy as np | ||
|
|
There was a problem hiding this comment.
Add some documentation here about what this is.
| url = https://github.com/pyDAmonitor/pyDAmonitor.git | ||
| ignore = all | ||
| [submodule "sorc/regrid-wrapper"] | ||
| path = sorc/regrid-wrapper |
There was a problem hiding this comment.
sorc/chem-regrid-wrapper
| # file for that same year and month (e.g., matching 201705*) | ||
| if [[ ! -r "${testfile}" ]]; then | ||
| YYYYMM="${testdate:0:6}" | ||
| first_available=$(ls -1 "${INDIR_NEMO}/${isect}/"emis_mole_${isect}_${YYYYMM}*.ncf 2>/dev/null | head -n 1) |
| # file for that same year and month (e.g., matching 201705*) | ||
| if [[ ! -r "${testfile}" ]]; then | ||
| YYYYMM="${testdate:0:6}" | ||
| first_available=$(ls -1 "${INDIR_NEMO}/${isect}/"emis_mole_${isect}_${YYYYMM}*.ncf 2>/dev/null | head -n 1) |
DESCRIPTION OF CHANGES:
TESTS CONDUCTED:
CONUS12km test run: /scratch4/BMC/acomp/Haiqin.Li/OPSROOT/smoke_12km
Machines/Platforms:
Test cases:
ISSUE:
CONTRIBUTORS (optional):
Jordan Schnell