#

LN      =       ln -sf
MAKE    =       make -i -r
RM      =       rm -f


MODULES = \
	module_bl_ysu.o \
	module_bl_mrf.o \
	module_bl_gfs.o \
	module_bl_myjpbl.o \
	module_bl_acm.o \
	module_cu_g3.o \
	module_cu_kf.o  \
	module_cu_bmj.o \
	module_cu_kfeta.o \
	module_cu_gd.o \
	module_cu_sas.o \
	module_mp_kessler.o \
	module_mp_lin.o  \
	module_mp_wsm3.o \
	module_mp_wsm5.o \
	module_mp_wsm6.o \
	module_mp_etanew.o \
	module_mp_thompson.o \
	module_mp_gsfcgce.o \
        module_mp_morr_two_moment.o \
	module_ra_sw.o  \
	module_ra_gsfcsw.o \
	module_ra_rrtm.o  \
        module_ra_cam_support.o \
        module_ra_cam.o \
	module_ra_gfdleta.o \
	module_ra_hs.o  \
	module_sf_sfclay.o \
	module_sf_gfs.o \
	module_sf_slab.o  \
	module_sf_noahdrv.o  \
	module_sf_noahlsm.o  \
        module_sf_urban.o  \
	module_sf_lsm_nmm.o  \
	module_sf_pxlsm.o \
	module_sf_ruclsm.o \
	module_sf_sfcdiags.o \
	module_sf_myjsfc.o \
	module_sf_pxsfclay.o \
	module_physics_addtendc.o \
	module_physics_init.o \
	module_gfs_machine.o \
	module_gfs_funcphys.o \
	module_gfs_physcons.o \
	module_progtm.o \
	module_pbl_driver.o \
	module_data_gocart_dust.o \
	module_cumulus_driver.o \
	module_microphysics_driver.o \
	module_microphysics_zero_out.o \
	module_mixactivate.o \
	module_radiation_driver.o \
	module_surface_driver.o \
	module_diagnostics.o \
	module_fdda_psufddagd.o \
	module_fddagd_driver.o  \
        module_fddaobs_rtfdda.o \
	module_fddaobs_driver.o \
	module_sf_clm.o \
	BalanceCheckMod.o \
	BareGroundFluxesMod.o   \
	Biogeophysics1Mod.o \
	Biogeophysics2Mod.o   \
	BiogeophysicsLakeMod.o   \
	CanopyFluxesMod.o   \
	DGVMAllocationMod.o   \
	DGVMEcosystemDynMod.o   \
	DGVMEstablishmentMod.o   \
	DGVMFireMod.o   \
	DGVMKillMod.o   \
	DGVMLightMod.o   \
	DGVMMod.o   \
	DGVMMortalityMod.o \
	DGVMReproductionMod.o   \
	DGVMTurnoverMod.o   \
	DriverInitMod.o   \
	FracWetMod.o   \
	FrictionVelocityMod.o   \
	Hydrology1Mod.o   \
	Hydrology2Mod.o   \
	HydrologyLakeMod.o   \
	QSatMod.o   \
	STATICEcosysDynMod.o   \
	SnowHydrologyMod.o   \
	SoilHydrologyMod.o   \
	SoilTemperatureMod.o   \
	SurfaceAlbedoMod.o   \
	SurfaceRadiationMod.o   \
	TridiagonalMod.o   \
	VOCEmissionMod.o   \
	accFldsMod.o   \
	accumulMod.o   \
	biochem_to_wrf.o   \
	biophy_to_wrf.o   \
	clm3.o \
        clm_varpar.o   \
	clm_varcon.o   \
	clm_varsur.o   \
	clmtype.o   \
	clmtypeInitMod.o   \
	clmzen.o   \
	decompMod.o   \
	driver.o   \
	endrun.o   \
	filterMod.o   \
	globals.o   \
	iniTimeConst.o   \
	iniTimeVar.o   \
	initGridCellsMod.o   \
	initializeMod.o   \
	mkrank.o   \
	nanMod.o   \
	pft2colMod.o   \
	pftvarcon.o   \
	shr_kind_mod.o   \
	subgridAveMod.o   \
	surfFileMod.o  \
	CLMDebug.o 
  
OBJS    =

NMM_MODULES =  

LIBTARGET    =  physics
TARGETDIR    =  ./

$(LIBTARGET) :
		if [ $(WRF_NMM_CORE) -eq 1 ] ; then \
                  $(MAKE) nmm_contrib                                      ; \
                  $(AR) $(ARFLAGS) ../main/$(LIBWRFLIB) $(MODULES) $(OBJS) $(NMM_OBJS) $(NMM_MODULES) ; \
                else                                                         \
                  $(MAKE) non_nmm                                          ; \
                  $(AR) $(ARFLAGS) ../main/$(LIBWRFLIB) $(MODULES) $(OBJS)             ; \
                fi

include ../configure.wrf

nmm_contrib : $(NMM_OBJS) $(NMM_MODULES) $(MODULES) $(OBJS)

non_nmm : $(MODULES) $(OBJS)

clean:
	@ echo 'use the clean script'

# DEPENDENCIES : only dependencies after this line (don't remove the word DEPENDENCIES)

module_bl_myjpbl.o: ../share/module_model_constants.o

module_bl_gfs.o: module_gfs_machine.o \
		 module_gfs_physcons.o

module_cu_bmj.o: ../share/module_model_constants.o

module_cu_kf.o:  ../frame/module_wrf_error.o

module_cu_kfeta.o: ../frame/module_wrf_error.o

module_cu_gd.o:

module_gfs_physcons.o: module_gfs_machine.o

module_gfs_funcphys.o: module_gfs_machine.o \
		       module_gfs_physcons.o

module_cu_sas.o: module_gfs_machine.o \
		 module_gfs_funcphys.o \
		 module_gfs_physcons.o

module_ra_gfdleta.o:  ../frame/module_dm.o

module_ra_rrtm.o: ../frame/module_wrf_error.o \
		../frame/module_dm.o

module_ra_cam_support.o: ../frame/module_wrf_error.o

module_ra_cam.o: module_ra_cam_support.o \
                ../frame/module_wrf_error.o

module_mp_lin.o : ../frame/module_wrf_error.o

module_sf_lsm_nmm.o: ../share/module_model_constants.o \
		../share/module_MPP.o

module_sf_myjsfc.o: ../share/module_model_constants.o 

module_sf_gfs.o: module_gfs_machine.o \
		 module_gfs_funcphys.o \
		 module_gfs_physcons.o \
		 module_progtm.o

module_sf_noahdrv.o: module_sf_noahlsm.o module_data_gocart_dust.o \
                     module_sf_urban.o

module_sf_noahlsm.o: ../share/module_model_constants.o

module_sf_ruclsm.o: ../frame/module_wrf_error.o module_data_gocart_dust.o 

module_sf_pxlsm.o: ../share/module_model_constants.o

module_physics_addtendc.o: \
		module_cu_kf.o			\
		module_cu_kfeta.o		\
		../frame/module_state_description.o \
		../frame/module_configure.o

module_physics_init.o : \
		module_ra_rrtm.o		\
		module_ra_cam.o		\
		module_ra_cam_support.o		\
		module_ra_sw.o			\
		module_ra_gsfcsw.o		\
		module_ra_gfdleta.o		\
		module_ra_hs.o			\
		module_sf_sfclay.o		\
		module_sf_slab.o		\
		module_sf_myjsfc.o		\
		module_sf_pxsfclay.o		\
		module_sf_noahlsm.o		\
		module_sf_noahdrv.o		\
		module_sf_ruclsm.o		\
		module_sf_pxlsm.o		\
		module_bl_ysu.o			\
		module_bl_mrf.o			\
		module_bl_gfs.o			\
		module_bl_acm.o			\
		module_bl_myjpbl.o		\
		module_cu_kf.o			\
	        module_cu_g3.o                  \
		module_cu_kfeta.o		\
		module_cu_bmj.o			\
		module_cu_gd.o			\
		module_cu_sas.o			\
		module_mp_wsm3.o		\
		module_mp_wsm5.o		\
		module_mp_wsm6.o		\
		module_mp_etanew.o		\
		module_fdda_psufddagd.o		\
		module_fddaobs_rtfdda.o		\
		module_mp_thompson.o            \
		module_mp_gsfcgce.o 		\
                module_mp_morr_two_moment.o     \
		../frame/module_state_description.o \
		../frame/module_configure.o \
		../frame/module_wrf_error.o \
		../frame/module_dm.o \
		../share/module_model_constants.o \
		module_sf_lsm_nmm.o	\
		module_sf_clm.o

module_microphysics_driver.o: \
                module_mixactivate.o \
                module_mp_kessler.o module_mp_lin.o \
		module_mp_wsm3.o module_mp_wsm5.o \
		module_mp_wsm6.o module_mp_etanew.o \
		module_mp_thompson.o            \
		module_mp_gsfcgce.o 		\
                module_mp_morr_two_moment.o     \
		../frame/module_driver_constants.o \
		../frame/module_state_description.o \
		../frame/module_wrf_error.o \
		../frame/module_configure.o \
		../share/module_model_constants.o 

module_cumulus_driver.o: \
                module_cu_kf.o \
	        module_cu_g3.o \
		module_cu_kfeta.o \
		module_cu_bmj.o \
		module_cu_gd.o \
		module_cu_sas.o \
		../frame/module_state_description.o \
		../frame/module_configure.o \
		../share/module_model_constants.o

module_pbl_driver.o:  \
		module_bl_myjpbl.o \
		module_bl_acm.o \
		module_bl_ysu.o \
		module_bl_mrf.o \
		module_bl_gfs.o \
		../frame/module_state_description.o \
		../frame/module_configure.o \
		../share/module_model_constants.o 

module_data_gocart_dust.o: 

module_mixactivate.o: \
		module_radiation_driver.o

module_radiation_driver.o: \
		module_ra_sw.o \
		module_ra_gsfcsw.o \
		module_ra_rrtm.o \
		module_ra_cam.o \
		module_ra_gfdleta.o \
		module_ra_hs.o \
		../frame/module_driver_constants.o \
		../frame/module_state_description.o \
		../frame/module_dm.o \
		../frame/module_domain.o \
		../frame/module_wrf_error.o \
		../frame/module_configure.o \
		../share/module_bc.o  \
		../share/module_model_constants.o 

module_surface_driver.o: \
		module_sf_sfclay.o		\
		module_sf_slab.o		\
		module_sf_myjsfc.o		\
		module_sf_pxsfclay.o		\
		module_sf_gfs.o  		\
		module_sf_noahdrv.o		\
		module_sf_ruclsm.o		\
		module_sf_pxlsm.o		\
		module_sf_sfcdiags.o		\
		../frame/module_state_description.o \
		../frame/module_configure.o \
		../share/module_model_constants.o  \
		module_sf_lsm_nmm.o		\
		module_sf_clm.o

module_diagnostics.o: ../frame/module_dm.o

module_fddagd_driver.o: \
		../frame/module_state_description.o \
		../frame/module_configure.o \
		../share/module_model_constants.o  \
		module_fdda_psufddagd.o

module_fddaobs_driver.o: \
		../frame/module_domain.o \
		../share/module_bc.o  \
		../share/module_model_constants.o  \
		module_fddaobs_rtfdda.o

# CLM

module_sf_clm.o : \
		clm_varpar.o                       \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		module_sf_urban.o                  \
		../share/module_date_time.o        \
		../frame/module_wrf_error.o

BalanceCheckMod.o : \
		clmtype.o                          \
		shr_kind_mod.o                     \
		subgridAveMod.o                    \
		globals.o
BareGroundFluxesMod.o : \
		clm_varpar.o                       \
		clm_varcon.o                       \
		clmtype.o                          \
		shr_kind_mod.o                     \
		FrictionVelocityMod.o
Biogeophysics1Mod.o : \
		clm_varpar.o                       \
		clm_varcon.o                       \
		clmtype.o 		           \
		shr_kind_mod.o                     \
		QSatMod.o
Biogeophysics2Mod.o : \
		clm_varpar.o                       \
		clm_varcon.o                       \
		clmtype.o                          \
		shr_kind_mod.o                     \
		subgridAveMod.o                    \
		globals.o                          \
		SoilTemperatureMod.o
BiogeophysicsLakeMod.o : \
		clm_varpar.o                       \
		clm_varcon.o                       \
		clmtype.o                          \
		shr_kind_mod.o                     \
		QSatMod.o                          \
	 	FrictionVelocityMod.o              \
		globals.o                          \
		TridiagonalMod.o
CanopyFluxesMod.o : \
		clm_varpar.o                       \
		clm_varcon.o                       \
		clmtype.o                          \
		shr_kind_mod.o                     \
		QSatMod.o                          \
		FrictionVelocityMod.o              \
		globals.o 
DGVMAllocationMod.o : \
		clm_varcon.o                       \
		clmtype.o                          \
		shr_kind_mod.o 
DGVMEcosystemDynMod.o : \
		clm_varpar.o                       \
		pftvarcon.o                        \
		clm_varcon.o                       \
		clmtype.o                          \
		shr_kind_mod.o                     \
		globals.o 	                   \
		nanMod.o 			   \
		decompMod.o 
DGVMEstablishmentMod.o : \
		clm_varpar.o                       \
		pftvarcon.o 			   \
		clm_varcon.o 			   \
		clmtype.o                          \
		shr_kind_mod.o 
DGVMFireMod.o : \
		clmtype.o                          \
		shr_kind_mod.o 
DGVMKillMod.o : \
		clmtype.o                          \
		shr_kind_mod.o 
DGVMLightMod.o : \
		clmtype.o                          \
		shr_kind_mod.o 
DGVMMod.o : \
		clm_varpar.o                       \
		shr_kind_mod.o                     \
		SurfaceAlbedoMod.o                 \
		DGVMMortalityMod.o                 \
		DGVMAllocationMod.o                \
		DGVMTurnoverMod.o                  \
		DGVMEcosystemDynMod.o              \
		DGVMKillMod.o                      \
		DGVMEstablishmentMod.o             \
		DGVMReproductionMod.o              \
		clm_varcon.o                       \
		pftvarcon.o                        \
		clmtype.o                          \
		DGVMFireMod.o                      \
		DGVMLightMod.o
DGVMMortalityMod.o : \
		 shr_kind_mod.o                    \
		 clmtype.o
DGVMReproductionMod.o : \
		shr_kind_mod.o                     \
		clmtype.o 
DGVMTurnoverMod.o : \
		shr_kind_mod.o                     \
		clmtype.o 
DriverInitMod.o : \
		clm_varpar.o                       \
		shr_kind_mod.o                     \
		clmtype.o
FracWetMod.o : \
		shr_kind_mod.o                     \
		clmtype.o
FrictionVelocityMod.o : \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		clmtype.o 
Hydrology1Mod.o : \
	 	shr_kind_mod.o                     \
		subgridAveMod.o                    \
		clm_varcon.o                       \
		clmtype.o                          \
		globals.o                          \
		FracWetMod.o
Hydrology2Mod.o : \
		SoilHydrologyMod.o                 \
		clm_varpar.o                       \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		clmtype.o                          \
		globals.o                          \
		SnowHydrologyMod.o 
HydrologyLakeMod.o : \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		clmtype.o                          \
		globals.o
QSatMod.o : \
		shr_kind_mod.o                     \
		clm_varcon.o
STATICEcosysDynMod.o : \
		clm_varpar.o                       \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		clmtype.o                          \
		nanMod.o                           \
		decompMod.o 
SnowHydrologyMod.o : \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		clmtype.o                          \
		globals.o
SoilHydrologyMod.o : \
		clm_varpar.o                       \
		shr_kind_mod.o                     \
		TridiagonalMod.o                   \
		clm_varcon.o                       \
		clmtype.o                          \
		globals.o
SoilTemperatureMod.o : \
		clm_varpar.o                       \
		shr_kind_mod.o                     \
		TridiagonalMod.o                   \
		clm_varcon.o                       \
		clmtype.o                          \
		globals.o
SurfaceAlbedoMod.o : \
		clm_varpar.o                       \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		clmtype.o                          \
		globals.o
SurfaceRadiationMod.o : \
		clm_varpar.o                       \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		clmtype.o                          \
		globals.o
TridiagonalMod.o : \
		shr_kind_mod.o
VOCEmissionMod.o : \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		clmtype.o 
accFldsMod.o : \
		clm_varpar.o                       \
		shr_kind_mod.o                     \
		pftvarcon.o                        \
		clmtype.o                          \
		clm_varcon.o                       \
		accumulMod.o                       \
		globals.o                          \
		nanMod.o                           \
		decompMod.o 
accumulMod.o : \
		clm_varpar.o                       \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		globals.o                          \
		decompMod.o 
biochem_to_wrf.o : \
		shr_kind_mod.o                     \
		clmtype.o                          \
		decompMod.o
biophy_to_wrf.o : \
		clm_varpar.o                       \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		clmtype.o                          \
		nanMod.o                \
		decompMod.o
clm3.o : \
	 	clm_varpar.o                       \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		clmtype.o                          \
		clmtypeInitMod.o 	           \
		globals.o 		           \
		initializeMod.o                    \
		nanMod.o                           \
		decompMod.o 
clm_varpar.o : \
		shr_kind_mod.o
clm_varcon.o : \
		clm_varpar.o 			  \
		shr_kind_mod.o
clm_varsur.o : \
		clm_varpar.o                       \
		shr_kind_mod.o
clmtype.o : \
		clm_varpar.o                       \
		shr_kind_mod.o
clmtypeInitMod.o : \
		clm_varpar.o                       \
		shr_kind_mod.o                     \
		clmtype.o                          \
		nanMod.o                           \
		decompMod.o
clmzen.o : \
		shr_kind_mod.o                     \
		clmtype.o
decompMod.o : \
		clm_varpar.o                       \
		clm_varsur.o                       \
		shr_kind_mod.o                     \
		clmtype.o
driver.o : \
		STATICEcosysDynMod.o               \
		shr_kind_mod.o                     \
		SurfaceAlbedoMod.o                 \
		BiogeophysicsLakeMod.o             \
		DGVMEcosystemDynMod.o              \
		BareGroundFluxesMod.o              \
		clm_varcon.o                       \
		clmtype.o                          \
		Biogeophysics1Mod.o                \
		CanopyFluxesMod.o                  \
		VOCEmissionMod.o                   \
		globals.o                          \
		DGVMMod.o                          \
		Hydrology2Mod.o                    \
		decompMod.o                        \
		accFldsMod.o                       \
		filterMod.o                        \
		DriverInitMod.o                    \
		HydrologyLakeMod.o                 \
		accumulMod.o                       \
		pft2colMod.o                       \
		BalanceCheckMod.o                  \
		Hydrology1Mod.o                    \
		SurfaceRadiationMod.o              \
		Biogeophysics2Mod.o 
endrun.o : \
		
filterMod.o : \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		clmtype.o                          \
		decompMod.o 
globals.o : \
		shr_kind_mod.o
iniTimeConst.o : \
		clm_varsur.o                       \
		shr_kind_mod.o                     \
		clm_varcon.o 	                   \
		clmtype.o                          \
		decompMod.o                        \
		clm_varpar.o                       \
		pftvarcon.o                        \
		nanMod.o
iniTimeVar.o : \
	 	STATICEcosysDynMod.o               \
		shr_kind_mod.o                     \
		SurfaceAlbedoMod.o                 \
		DGVMEcosystemDynMod.o              \
		clm_varcon.o                       \
		clmtype.o                          \
		globals.o                          \
		DGVMMod.o                          \
		FracWetMod.o                       \
		decompMod.o                        \
		clm_varpar.o                       \
		filterMod.o 
initGridCellsMod.o : \
		clm_varsur.o                       \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		clmtype.o                          \
		decompMod.o                        \
		clm_varpar.o                       \
		pftvarcon.o
initializeMod.o : \
		STATICEcosysDynMod.o               \
		clm_varsur.o                       \
		shr_kind_mod.o                     \
		DGVMEcosystemDynMod.o              \
		clm_varcon.o                       \
		initGridCellsMod.o                 \
		DGVMMod.o                          \
		decompMod.o                        \
		accFldsMod.o                       \
		filterMod.o                        \
		clm_varpar.o                       \
		pftvarcon.o                        \
		surfFileMod.o                      \
		clmtypeInitMod.o 
mkrank.o : \
		shr_kind_mod.o
nanMod.o : \
	 	shr_kind_mod.o
pft2colMod.o : \
		shr_kind_mod.o                     \
		subgridAveMod.o                    \
		clmtype.o
pftvarcon.o : \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		clm_varpar.o
shr_kind_mod.o : \
		
subgridAveMod.o : \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		clmtype.o                          \
		clm_varpar.o
surfFileMod.o : \
		clm_varsur.o                       \
		shr_kind_mod.o                     \
		clm_varcon.o                       \
		clm_varpar.o                       \
		pftvarcon.o 
CLMDebug.o : \



# DO NOT DELETE
