Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

spin up with my own atmospheric forcing data

LIN

watermelon
New Member
hi,@oleson. Last week, I tried to modify the lai_stream file to calibration LAI in study area, and better results have been obtained compared to the default lai_stream file.
and I had some new problems this week. In fact, I used my own atmospheric forcing data to run compset of ssp126_datm50sp_sice_socn_srof_swav was successful, and also I used GSWP3 default atmospheric forcing data to run spin up was successful, but I keep making mistakes when I spin up with my own atmospheric forcing data.
The code I used as follows:
Code:
create_newcase --case BGC_QTP_SROF_2000_SPINUP0524cmfd3 --compset 2000_DATM%GSWP3v1_CLM50%BGC_SICE_SOCN_SROF_SGLC_SWAV --res CLM_USRDAT --run-unsupported

./xmlchange DIN_LOC_ROOT=/home/user/cesmlab
./xmlchange CLM_USRDAT_NAME=QTP
./xmlchange ATM_DOMAIN_FILE=domain.lnd.0.125x0.125_tx0.QTP.1v2.140704.nc,LND_DOMAIN_FILE=domain.lnd.0.125x0.125_tx0.QTP.1v2.140704.nc
./xmlchange DATM_CLMNCEP_YR_START=1994
./xmlchange DATM_CLMNCEP_YR_END=1999
./xmlchange CLM_ACCELERATED_SPINUP="on"
./xmlchange CLM_FORCE_COLDSTART="on"
./xmlchange STOP_N=50 ./xmlchange STOP_OPTION=nyears ./case.setup

#vim user_nl_clm
#paste
fsurdat='/home/user/cesmlab/lnd/clm2/surfdata_map/surfdata_0.125x0.125_78pfts_simyr2000_QTP_addglc_revisedLAI_c151014.nc' ./preview_namelists

cp ~/BGC_QTP_SROF_2000_SPINUP0524cmfd3/CaseDocs/datm.streams.txt.CLMGSWP3v1.Precip user_datm.streams.txt.CLMGSWP3v1.Precip
cp ~/BGC_QTP_SROF_2000_SPINUP0524cmfd3/CaseDocs/datm.streams.txt.CLMGSWP3v1.Solar user_datm.streams.txt.CLMGSWP3v1.Solar
cp ~/BGC_QTP_SROF_2000_SPINUP0524cmfd3/CaseDocs/datm.streams.txt.CLMGSWP3v1.Precip user_datm.streams.txt.CLMGSWP3v1.TPQW
Then changed the user_datm.streams.txt.CLMGSWP3v1.Precip、user_datm.streams.txt.CLMGSWP3v1.TPQW、user_datm.streams.txt.CLMGSWP3v1.Solar
1684937053964.png
Code:
#vim user_nl_datm
#paste
&datm_nml
  decomp = "1d"
  factorfn = "null"
  force_prognostic_true = .false.
  iradsw = 1
  presaero = .true.
  restfilm = "undefined"
  restfils = "undefined"
  wiso_datm = .false.
/
&shr_strdata_nml
  datamode = "CLMNCEP"
  domainfile = "/home/user/cesmlab/share/domains/domain.lnd.0.125x0.125_tx0.QTP.1v2.140704.nc"
  dtlimit = 1.5, 1.5, 1.5, 1.5, 1.5
  fillalgo = "nn", "nn", "nn", "nn", "nn"
  fillmask = "nomask", "nomask", "nomask", "nomask", "nomask"
  fillread = "NOT_SET", "NOT_SET", "NOT_SET", "NOT_SET", "NOT_SET"
  fillwrite = "NOT_SET", "NOT_SET", "NOT_SET", "NOT_SET", "NOT_SET"
  mapalgo = "bilinear", "bilinear", "bilinear", "bilinear", "bilinear"
  mapmask = "nomask", "nomask", "nomask", "nomask", "nomask"
  mapread = "NOT_SET", "NOT_SET", "NOT_SET", "NOT_SET", "NOT_SET"
  mapwrite = "NOT_SET", "NOT_SET", "NOT_SET", "NOT_SET", "NOT_SET"
  readmode = "single", "single", "single", "single", "single"
  streams = "datm.streams.txt.CLMGSWP3v1.Solar 1994 1994 1999",
      "datm.streams.txt.CLMGSWP3v1.Precip 1994 1994 1999",
      "datm.streams.txt.CLMGSWP3v1.TPQW 1994 1994 1999",
      "datm.streams.txt.presaero.clim_2000 1 2000 2000",
      "datm.streams.txt.topo.observed 1 1 1"
  taxmode = "cycle", "cycle", "cycle", "cycle", "cycle"
  tintalgo = "coszen", "nearest", "linear", "linear", "lower"
  vectors = "null"
/

./preview_namelists
./case.build
./case.submit
The error as follows:
atm.log.
1684937854969.png
lnd.log
1684937949501.png

cpl.log
1684938005911.png
cesm.log
1684938042491.png
Can you help me see what the problem is? Thank you so much!!!
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
If you are using release-cesm2.2.0 (are you?) then line 470 of BalanceCheckMod.F90 is:

call endrun(decomp_index=indexc, clmlevel=namec, msg=errmsg(sourcefile, __LINE__))

which is in the section of code that is describing a water balance error for a particular column at that latitude/longitude.
Normally, you would get more information about the makeup of that error in the log file, in particular:

write(iulog,*)'clm urban model is stopping - error is greater than 1e-5 (mm)'
write(iulog,*)'nstep = ',nstep
write(iulog,*)'errh2o = ',errh2o(indexc)
write(iulog,*)'forc_rain = ',forc_rain_col(indexc)*dtime
write(iulog,*)'forc_snow = ',forc_snow_col(indexc)*dtime
write(iulog,*)'endwb = ',endwb(indexc)
write(iulog,*)'begwb = ',begwb(indexc)

write(iulog,*)'qflx_evap_tot = ',qflx_evap_tot(indexc)*dtime
write(iulog,*)'qflx_sfc_irrig = ',qflx_sfc_irrig(indexc)*dtime
write(iulog,*)'qflx_surf = ',qflx_surf(indexc)*dtime
write(iulog,*)'qflx_qrgwl = ',qflx_qrgwl(indexc)*dtime
write(iulog,*)'qflx_drain = ',qflx_drain(indexc)*dtime

write(iulog,*)'qflx_ice_runoff_snwcp = ',qflx_ice_runoff_snwcp(indexc)*dtime
write(iulog,*)'qflx_ice_runoff_xs = ',qflx_ice_runoff_xs(indexc)*dtime

write(iulog,*)'qflx_snwcp_discarded_ice = ',qflx_snwcp_discarded_ice(indexc)*dtime
write(iulog,*)'qflx_snwcp_discarded_liq = ',qflx_snwcp_discarded_liq(indexc)*dtime
write(iulog,*)'deltawb = ',endwb(indexc)-begwb(indexc)
write(iulog,*)'deltawb/dtime = ',(endwb(indexc)-begwb(indexc))/dtime

Knowing what the water balance components are would be helpful. Look in the cesm log file and/or attach all of the log files in their entirety.
I don't see anything obviously wrong with your setup but presumably there is something wrong with the forcing, perhaps forc_rain or forc_snow or how the data is being interpreted by the datm in this particular configuration.
 

LIN

watermelon
New Member
Thanks for your reply! I will check my file of BalanceCheckMod.F90 and try again.
 
If you are using release-cesm2.2.0 (are you?) then line 470 of BalanceCheckMod.F90 is:

call endrun(decomp_index=indexc, clmlevel=namec, msg=errmsg(sourcefile, __LINE__))

which is in the section of code that is describing a water balance error for a particular column at that latitude/longitude.
Normally, you would get more information about the makeup of that error in the log file, in particular:

write(iulog,*)'clm urban model is stopping - error is greater than 1e-5 (mm)'
write(iulog,*)'nstep = ',nstep
write(iulog,*)'errh2o = ',errh2o(indexc)
write(iulog,*)'forc_rain = ',forc_rain_col(indexc)*dtime
write(iulog,*)'forc_snow = ',forc_snow_col(indexc)*dtime
write(iulog,*)'endwb = ',endwb(indexc)
write(iulog,*)'begwb = ',begwb(indexc)

write(iulog,*)'qflx_evap_tot = ',qflx_evap_tot(indexc)*dtime
write(iulog,*)'qflx_sfc_irrig = ',qflx_sfc_irrig(indexc)*dtime
write(iulog,*)'qflx_surf = ',qflx_surf(indexc)*dtime
write(iulog,*)'qflx_qrgwl = ',qflx_qrgwl(indexc)*dtime
write(iulog,*)'qflx_drain = ',qflx_drain(indexc)*dtime

write(iulog,*)'qflx_ice_runoff_snwcp = ',qflx_ice_runoff_snwcp(indexc)*dtime
write(iulog,*)'qflx_ice_runoff_xs = ',qflx_ice_runoff_xs(indexc)*dtime

write(iulog,*)'qflx_snwcp_discarded_ice = ',qflx_snwcp_discarded_ice(indexc)*dtime
write(iulog,*)'qflx_snwcp_discarded_liq = ',qflx_snwcp_discarded_liq(indexc)*dtime
write(iulog,*)'deltawb = ',endwb(indexc)-begwb(indexc)
write(iulog,*)'deltawb/dtime = ',(endwb(indexc)-begwb(indexc))/dtime

Knowing what the water balance components are would be helpful. Look in the cesm log file and/or attach all of the log files in their entirety.
I don't see anything obviously wrong with your setup but presumably there is something wrong with the forcing, perhaps forc_rain or forc_snow or how the data is being interpreted by the datm in this particular configuration.
I encounter this error message as"
WARNING: water balance error nstep=126999 local indexc=338060 errh2o= -1.063000476442255E-005
clm urban model is stopping - error is greater than 1e-5 (mm)
ERROR: ERROR in BalanceCheckMod.F90 at line 470"

what might accout for it? Looking forward to your reply!
 

slevis

Moderator
If the only difference from the default model is that you are running with your own datm data, then we can assume that there's something wrong with your data, so you need to debug your datm data. My intuition tells me that you will not fix the water balance error if you don't first correct the mistake in your datm data.

You mentioned that you have run successfully with the new data sometimes, right? If so, I might first try to compare the new data when you get the error to the new data when the model runs. Is there something different or strange in the file when you get the error versus the files when you don't? It may be very difficult to uncover this type of a problem, unfortunately.
 
Top