Skip to content

Commit

Permalink
Begin NMM removal from source code (#1584)
Browse files Browse the repository at this point in the history
TYPE: feature removed

KEYWORDS: NMM

SOURCE: internal

DESCRIPTION OF CHANGES:
If we consider the act of adding in new features to the WRF repository as a "constructionist" activity, then this
PR begins the largest deconstructionist effort ever undertake in WRF.

The Philosophy of Deconstructivism places an emphasis on appearance.

Perhaps the bard has a quote appropos to someone working on a commit for a PR, where that PR is at once a massive 
change and yet is intended to have exactly zero impact: 
_It is a tale. Told by an idiot, full of sound and fury, Signifying nothing._

LIST OF MODIFIED FILES:
_Deleted:_
D	Registry/Registry.NMM
D	dyn_nmm/BALANCE_COMS.F
D	dyn_nmm/BALANCE_PARS.F
D	dyn_nmm/BUCKETS.F
D	dyn_nmm/CLTEND.F
D	dyn_nmm/DSTRB.F
D	dyn_nmm/Makefile
D	dyn_nmm/NMM_NEST_UTILS1.F
D	dyn_nmm/RDTEMP.F
D	dyn_nmm/adve_optim.h
D	dyn_nmm/adve_orig.h
D	dyn_nmm/depend.dyn_nmm
D	dyn_nmm/init_modules_nmm.F
D	dyn_nmm/module_ADVECTION.F
D	dyn_nmm/module_BC_NMM.F
D	dyn_nmm/module_BNDRY_COND.F
D	dyn_nmm/module_CLDWTR.F
D	dyn_nmm/module_CTLBLK.F
D	dyn_nmm/module_DIFFUSION_NMM.F
D	dyn_nmm/module_GWD.F
D	dyn_nmm/module_HIFREQ.F
D	dyn_nmm/module_IGWAVE_ADJUST.F
D	dyn_nmm/module_INDX.F
D	dyn_nmm/module_MPP.F
D	dyn_nmm/module_MPPINIT.F
D	dyn_nmm/module_NEST_UTIL.F
D	dyn_nmm/module_NONHY_DYNAM.F
D	dyn_nmm/module_PHYSICS_CALLS.F
D	dyn_nmm/module_PRECIP_ADJUST.F
D	dyn_nmm/module_SMOOTH_TERRAIN.F
D	dyn_nmm/module_STATS_FOR_MOVE.F
D	dyn_nmm/module_TERRAIN.F
D	dyn_nmm/module_TIMERS.F
D	dyn_nmm/module_ZEROX.F
D	dyn_nmm/module_initialize_real.F
D	dyn_nmm/module_initialize_tropical_cyclone.F
D	dyn_nmm/module_membrane_mslp.F
D	dyn_nmm/module_relax.F
D	dyn_nmm/module_si_io_nmm.F
D	dyn_nmm/module_swath.F
D	dyn_nmm/module_tornado_genesis.F
D	dyn_nmm/module_tracker.F
D	dyn_nmm/nmm_get_cpu.c
D	dyn_nmm/nmm_loop_basemacros.h
D	dyn_nmm/nmm_loop_macros.h
D	dyn_nmm/shift_domain_nmm.F
D	dyn_nmm/solve_nmm.F
D	dyn_nmm/start_domain_nmm.F
D	frame/module_io_quilt_new.F
D	phys/module_mp_HWRF.F
D	phys/module_ra_HWRF.F
D	test/nmm_real/namelist.input
D	test/nmm_real/namelist.input.HWRF
D	test/nmm_real/tomorrow
D	test/nmm_tropical_cyclone/README.NMM.TROPICAL_CYCLONE
D	test/nmm_tropical_cyclone/input.d
D	test/nmm_tropical_cyclone/land.nml
D	test/nmm_tropical_cyclone/namelist.input
D	test/nmm_tropical_cyclone/namelist.wps
D	test/nmm_tropical_cyclone/sigma.d
D	test/nmm_tropical_cyclone/sound.d
D	test/nmm_tropical_cyclone/sound_gfdl.d
D	test/nmm_tropical_cyclone/sound_jordan.d
D	test/nmm_tropical_cyclone/sound_wet.d
D	test/nmm_tropical_cyclone/storm.center

_Modified:_
M	.github/CODEOWNERS
M	Makefile
M	clean
M	compile
M	configure
M	external/RSL_LITE/gen_comms.c
M	external/RSL_LITE/module_dm.F
M	external/RSL_LITE/tfp_tester.F
M	frame/Makefile
M	frame/module_bdywrite.F
M	frame/module_dm_stubs.F
M	frame/module_domain.F
M	frame/module_integrate.F
M	frame/module_io_quilt.F
M	frame/module_nesting.F
M	frame/module_wrf_error.F
M	main/Makefile
M	main/depend.common
M	phys/Makefile
M	phys/module_cumulus_driver.F
M	phys/module_diagnostics_driver.F
M	phys/module_fddagd_driver.F
M	phys/module_microphysics_driver.F
M	phys/module_pbl_driver.F
M	phys/module_radiation_driver.F
M	phys/module_surface_driver.F
M	share/dfi.F
M	share/init_modules.F
M	share/input_wrf.F
M	share/interp_fcn.F
M	share/mediation_feedback_domain.F
M	share/mediation_force_domain.F
M	share/mediation_integrate.F
M	share/mediation_interp_domain.F
M	share/mediation_nest_move.F
M	share/mediation_wrfmain.F
M	share/module_check_a_mundo.F
M	share/module_interp_store.F
M	share/module_model_constants.F
M	share/module_optional_input.F
M	share/module_soil_pre.F
M	share/module_trajectory.F
M	share/output_wrf.F
M	share/set_timekeeping.F
M	share/solve_interface.F
M	share/start_domain.F
M	share/wrf_ext_write_field.F
M	share/wrf_timeseries.F
M	var/build/depend.txt

TESTS CONDUCTED:
1. No "problems" per se. Just removing deadwood code.
2. All Jenkins tests are a PASS.
3. DA code still builds.
4. Restart tests OK.
5. Results for each regression test are identical before vs after.
6. Results for larger tests cases are also bit-for-bit (Wei Wang).
7. Code passes DA regression tests (Jake Liu).

RELEASE NOTE: Starting with release-v4.4, the NMM dynamical core and some NMM-specific source code are being removed from the WRF repository. WRF release-v4.3.x is the latest release with the NMM build options still available.
  • Loading branch information
davegill authored Nov 29, 2021
1 parent 8bec1d8 commit a646bb1
Show file tree
Hide file tree
Showing 114 changed files with 39 additions and 79,683 deletions.
2 changes: 0 additions & 2 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,6 @@ README.md @wrf-model/global_owner
# Dynamics

/dyn_em/ @wrf-model/arw_dev
/dyn_nmm/ @wrf-model/hwrf_dev

# WRF-Hydro

Expand All @@ -101,7 +100,6 @@ README.md @wrf-model/global_owner
# Test directories

/test/em_* @wrf-model/arw_dev
/test/nmm_* @wrf-model/hwrf_dev
/test/em_fire/ @wrf-model/fire

# Executable directory
Expand Down
114 changes: 0 additions & 114 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,8 @@ DA_CONVERTOR_MODULES = $(DA_CONVERTOR_MOD_DIR) $(INCLUDE_MODULES)

#### 3.d. add macros to specify the modules for this core

NMM_MODULE_DIR = -I../dyn_nmm
NMM_MODULES = $(NMM_MODULE_DIR)

ALL_MODULES = \
$(EM_MODULE_DIR) \
$(NMM_MODULES) \
$(INCLUDE_MODULES)

configcheck:
Expand Down Expand Up @@ -114,7 +110,6 @@ wrf : framework_only
$(MAKE) MODULE_DIRS="$(ALL_MODULES)" physics
if [ $(WRF_CHEM) -eq 1 ] ; then $(MAKE) MODULE_DIRS="$(ALL_MODULES)" chemics ; fi
if [ $(WRF_EM_CORE) -eq 1 ] ; then $(MAKE) MODULE_DIRS="$(ALL_MODULES)" em_core ; fi
if [ $(WRF_NMM_CORE) -eq 1 ] ; then $(MAKE) MODULE_DIRS="$(ALL_MODULES)" nmm_core ; fi
if [ $(WRF_HYDRO) -eq 1 ] ; then $(MAKE) MODULE_DIRS="$(ALL_MODULES)" wrf_hydro ; fi
( cd main ; $(MAKE) RLFLAGS="$(RLFLAGS)" MODULE_DIRS="$(ALL_MODULES)" SOLVER=em em_wrf )
( cd run ; /bin/rm -f wrf.exe ; ln -s ../main/wrf.exe . )
Expand Down Expand Up @@ -177,9 +172,6 @@ gen_be :
@echo "build completed:" `date`


nmm_wrf : wrf


# Eulerian mass coordinate initializations

em_fire : wrf
Expand Down Expand Up @@ -884,104 +876,6 @@ gocart_conv : wrf
/bin/rm -f namelist.input ; cp ../test/em_real/namelist.input . )


#### nmm converter

### Idealized NMM tropical cyclone case
nmm_tropical_cyclone : nmm_wrf
@ echo '--------------------------------------'
( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=nmm IDEAL_CASE=tropical_cyclone nmm_ideal )
( cd test/nmm_tropical_cyclone ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
( cd test/nmm_tropical_cyclone ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
( cd test/nmm_tropical_cyclone ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
( cd run ; if test -f namelist.input ; then \
/bin/cp -f namelist.input namelist.input.backup.`date +%Y-%m-%d_%H_%M_%S` ; fi ; \
/bin/rm -f namelist.input ; cp ../test/nmm_tropical_cyclone/namelist.input . )
@echo "build started: $(START_OF_COMPILE)"
@echo "build completed:" `date`

nmm_real : nmm_wrf
@ echo '--------------------------------------'
( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=nmm IDEAL_CASE=real real_nmm )
( cd test/nmm_real ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
( cd test/nmm_real ; /bin/rm -f real_nmm.exe ; ln -s ../../main/real_nmm.exe . )
( cd test/nmm_real ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
( cd test/nmm_real ; /bin/rm -f ETAMPNEW_DATA.expanded_rain ETAMPNEW_DATA RRTM_DATA ; \
ln -sf ../../run/ETAMPNEW_DATA . ; \
ln -sf ../../run/ETAMPNEW_DATA.expanded_rain . ; \
ln -sf ../../run/RRTM_DATA . ; \
ln -sf ../../run/RRTMG_LW_DATA . ; \
ln -sf ../../run/RRTMG_SW_DATA . ; \
ln -sf ../../run/CAM_ABS_DATA . ; \
ln -sf ../../run/CAM_AEROPT_DATA . ; \
ln -sf ../../run/CAMtr_volume_mixing_ratio.RCP4.5 . ; \
ln -sf ../../run/CAMtr_volume_mixing_ratio.RCP6 . ; \
ln -sf ../../run/CAMtr_volume_mixing_ratio.RCP8.5 CAMtr_volume_mixing_ratio ; \
ln -sf ../../run/CAMtr_volume_mixing_ratio.A1B . ; \
ln -sf ../../run/CAMtr_volume_mixing_ratio.A2 . ; \
ln -sf ../../run/CLM_ALB_ICE_DFS_DATA . ; \
ln -sf ../../run/CLM_ALB_ICE_DRC_DATA . ; \
ln -sf ../../run/CLM_ASM_ICE_DFS_DATA . ; \
ln -sf ../../run/CLM_ASM_ICE_DRC_DATA . ; \
ln -sf ../../run/CLM_DRDSDT0_DATA . ; \
ln -sf ../../run/CLM_EXT_ICE_DFS_DATA . ; \
ln -sf ../../run/CLM_EXT_ICE_DRC_DATA . ; \
ln -sf ../../run/CLM_KAPPA_DATA . ; \
ln -sf ../../run/CLM_TAU_DATA . ; \
ln -sf ../../run/ozone.formatted . ; \
ln -sf ../../run/ozone_lat.formatted . ; \
ln -sf ../../run/ozone_plev.formatted . ; \
ln -sf ../../run/aerosol.formatted . ; \
ln -sf ../../run/aerosol_lat.formatted . ; \
ln -sf ../../run/aerosol_lon.formatted . ; \
ln -sf ../../run/aerosol_plev.formatted . ; \
ln -sf ../../run/eclipse_besselian_elements.dat . ; \
ln -sf ../../run/capacity.asc . ; \
ln -sf ../../run/coeff_p.asc . ; \
ln -sf ../../run/coeff_q.asc . ; \
ln -sf ../../run/constants.asc . ; \
ln -sf ../../run/masses.asc . ; \
ln -sf ../../run/termvels.asc . ; \
ln -sf ../../run/kernels.asc_s_0_03_0_9 . ; \
ln -sf ../../run/kernels_z.asc . ; \
ln -sf ../../run/bulkdens.asc_s_0_03_0_9 . ; \
ln -sf ../../run/bulkradii.asc_s_0_03_0_9 . ; \
ln -sf ../../run/CCN_ACTIVATE.BIN . ; \
ln -sf ../../run/p3_lookupTable_1.dat-5.3-2momI . ; \
ln -sf ../../run/p3_lookupTable_1.dat-5.3-3momI . ; \
ln -sf ../../run/p3_lookupTable_2.dat-2momI_v5.2.2 . ; \
ln -sf ../../run/HLC.TBL . ; \
ln -sf ../../run/wind-turbine-1.tbl . ; \
ln -sf ../../run/ishmael-gamma-tab.bin . ; \
ln -sf ../../run/ishmael-qi-qc.bin . ; \
ln -sf ../../run/ishmael-qi-qr.bin . ; \
ln -sf ../../run/BROADBAND_CLOUD_GODDARD.bin . ; \
if [ $(RWORDSIZE) -eq 8 ] ; then \
ln -sf ../../run/ETAMPNEW_DATA_DBL ETAMPNEW_DATA ; \
ln -sf ../../run/ETAMPNEW_DATA.expanded_rain_DBL ETAMPNEW_DATA.expanded_rain ; \
ln -sf ../../run/RRTM_DATA_DBL RRTM_DATA ; \
fi )
( cd test/nmm_real ; /bin/rm -f GENPARM.TBL ; ln -s ../../run/GENPARM.TBL . )
( cd test/nmm_real ; /bin/rm -f LANDUSE.TBL ; ln -s ../../run/LANDUSE.TBL . )
( cd test/nmm_real ; /bin/rm -f SOILPARM.TBL ; ln -s ../../run/SOILPARM.TBL . )
( cd test/nmm_real ; /bin/rm -f VEGPARM.TBL ; ln -s ../../run/VEGPARM.TBL . )
( cd test/nmm_real ; /bin/rm -f MPTABLE.TBL ; ln -s ../../run/MPTABLE.TBL . )
( cd test/nmm_real ; /bin/rm -f tr49t67 ; ln -s ../../run/tr49t67 . )
( cd test/nmm_real ; /bin/rm -f tr49t85 ; ln -s ../../run/tr49t85 . )
( cd test/nmm_real ; /bin/rm -f tr67t85 ; ln -s ../../run/tr67t85 . )
( cd test/nmm_real ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
( cd test/nmm_real ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
( cd test/nmm_real ; /bin/rm -f co2_trans ; ln -s ../../run/co2_trans . )
( cd run ; /bin/rm -f real_nmm.exe ; ln -s ../main/real_nmm.exe . )
( cd run ; if test -f namelist.input ; then \
/bin/cp -f namelist.input namelist.input.backup.`date +%Y-%m-%d_%H_%M_%S` ; fi ; \
/bin/rm -f namelist.input ; cp ../test/nmm_real/namelist.input . )



# semi-Lagrangian initializations


io :
@ echo '--------------------------------------'
( cd tools ; $(MAKE) standard.exe )
Expand Down Expand Up @@ -1155,14 +1049,6 @@ fortran_2003_fflush_test:
fortran_2008_gamma_test:
@cd tools ; /bin/rm -f fortran_2008_gamma_test.{exe,o} ; $(SFC) -o fortran_2008_gamma_test.exe fortran_2008_gamma_test.F ; cd ..

nmm_core :
@ echo '--------------------------------------'
if [ "`echo $(J) | sed -e 's/-j//g' -e 's/ \+//g'`" -gt "16" ] ; then \
( cd dyn_nmm ; $(MAKE) -j 16 ) ; \
else \
( cd dyn_nmm ; $(MAKE) $(J) ) ; \
fi

toolsdir :
@ echo '--------------------------------------'
if [ $(WRF_PLUS_CORE) -eq 0 ] ; then \
Expand Down
Loading

0 comments on commit a646bb1

Please sign in to comment.