#!/bin/bash

cmpset="HIST_DATM%ICONNORESMhistorical_CLM51%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAV"

tstmp="$(date +"%y%m%d-%H%M")"

fld=$1

# IF NO ARGUMENT PROVIDED,  set default case name:

if [[ -z ${fld} ]]; then
    
    fld="exice_cold_${cmpset}_$tstmp"
    echo fld
else0
    fld=$1
fi

cfld="${fld}"

echo $cfld 

project=nn8002k

ctsmsrcfld=/cluster/home/irismuz/CTSM_EXICE/

#Remove dirs to rerun if previous run failed
apwd=$(pwd)
rm -r ./$cfld
rm -r $USERWORK/archive/$cfld
rm -r $USERWORK/noresm/$cfld

${ctsmsrcfld}/cime/scripts/create_newcase \
--case ./$cfld --res CLM_USRDAT --compset $cmpset \
        --run-unsupported --project nn8002k --machine betzy --handle-preexisting-dirs r --mpilib openmpi \
        --queue normal --pecount L 

cp $0 "$cfld/from_restart_historical_clean.sh"

cd $cfld

#./xmlchange CLM_FORCE_COLDSTART=on
#./xmlchange CLM_ACCELERATED_SPINUP=on
./xmlchange CALENDAR=NO_LEAP
./xmlchange RUN_STARTDATE=1985-01-01
./xmlchange REST_N=10,REST_OPTION=nyears
./xmlchange --subgroup case.run JOB_WALLCLOCK_TIME=95:00:00
./xmlchange SAVE_TIMING=TRUE

./xmlchange STOP_N=10,STOP_OPTION=nyears 
./xmlchange RESUBMIT=2 
./xmlchange DATM_YR_ALIGN=1985  
./xmlchange DATM_YR_START=1985  
./xmlchange DATM_YR_END=2014
./xmlchange DATM_SKIP_RESTART_READ=TRUE

#./xmlchange NTASKS=1024
./xmlchange NTASKS_CPL=2048,NTASKS_ATM=256,NTASKS_LND=1792,NTASKS_OCN=256,NTASKS_WAV=256,NTASKS_ESP=256,NTASKS_GLC=256,NTASKS_ROF=256,NTASKS_ICE=256
./xmlchange ROOTPE_LND=256

./xmlchange CLM_USRDAT_NAME=Arctic
./xmlchange CLM_USRDAT_DIR=/cluster/shared/noresm/inputdata
./xmlchange LND_DOMAIN_PATH=/cluster/shared/noresm/inputdata
./xmlchange ATM_DOMAIN_MESH=/cluster/shared/noresm/inputdata/wrf2clm_land_ESMFMesh_c290924.nc
./xmlchange PTS_DOMAINFILE=/cluster/shared/noresm/inputdata/domain.lnd.wrf2clm_lnd_noneg_wrf2clm_ocn_noneg.240929.nc
./xmlchange LND_DOMAIN_MESH=/cluster/shared/noresm/inputdata/wrf2clm_land_ESMFMesh_c290924.nc
./xmlchange LND_DOMAIN_FILE=/cluster/shared/noresm/inputdata/domain.lnd.wrf2clm_lnd_noneg_wrf2clm_ocn_noneg.240929.nc
./xmlchange MASK_MESH=/cluster/shared/noresm/inputdata/wrf2clm_land_ESMFMesh_c290924.nc

#For the hybrid run
./xmlchange RUN_TYPE=hybrid
./xmlchange GET_REFCASE=TRUE
./xmlchange RUN_REFCASE="spinup_ICONNORESM_7_non-acc_1" 
./xmlchange RUN_REFDIR="/cluster/work/users/irismuz/archive/spinup_ICONNORESM_7_non-acc_1/rest/2075-01-01-00000"
./xmlchange RUN_REFDATE=2075-01-01


echo "done"

# Adjust namelists
echo "  
use_init_interp = .true. !added for the historical run
init_interp_fill_missing_with_natveg = .true. !added for the historical run
create_crop_landunit = .true.
enable_water_isotopes = .false.
use_excess_ice = .true.
!the line below should be true only for coldstart
use_excess_ice_streams = .false.
soil_layerstruct_predefined= '20SL_8.5m'
use_bedrock = .true.
hist_empty_htapes = .true.

hist_fincl1 = 'ALT', 'ALTMAX', 'ALTMAX_LASTYEAR', 'CH4PROD', 'CH4_EBUL_TOTAL_SAT', 'CH4_EBUL_TOTAL_UNSAT', 'CH4_SURF_AERE_SAT', 'CH4_SURF_AERE_UNSAT', 'CH4_SURF_DIFF_SAT', 'CH4_SURF_DIFF_UNSAT', 'CH4_SURF_EBUL_SAT', 'CH4_SURF_EBUL_UNSAT', 'EFLX_GNET', 'EFLX_GRND_LAKE', 'EFLX_LH_TOT', 'EFLX_LH_TOT_ICE', 'EFLX_LH_TOT_R', 'EFLX_LH_TOT_U', 'EFLX_SOIL_GRND', 'ER', 'FCEV', 'FCH4', 'FCH4TOCO2', 'FCH4_DFSAT', 'FCO2', 'FCTR', 'FGEV', 'FGR', 'FGR12', 'FGR_ICE', 'FH2OSFC', 'FH2OSFC_NOSNOW', 'FINUNDATED', 'FINUNDATED_LAG', 'FIRA', 'FIRE', 'FLDS', 'FPI', 'FPSN', 'FPSN24', 'FSA', 'FSAT', 'FSDS', 'FSDSND', 'FSDSNDLN', 'FSDSNI', 'FSDSVD', 'FSDSVDLN', 'FSDSVI', 'FSDSVILN', 'FSH', 'FSH_PRECIP_CONVERSION', 'FSH_R', 'FSH_RUNOFF_ICE_TO_LIQ', 'FSH_TO_COUPLER', 'FSM', 'FSNO', 'FSR', 'FSRND', 'FSRNI', 'FSRVD', 'FSRVDLN', 'FSRVI', 'GPP', 'GR', 'H2OSFC', 'H2OSNO', 'HR', 'MR', 'NBP', 'NEE', 'NEM', 'NEP', 'QBOT', 'QDRAI', 'QDRAI_PERCH', 'QFLOOD', 'QFLX_EVAP_TOT', 'QFLX_EVAP_VEG', 'QFLX_ICE_DYNBAL', 'QFLX_LIQDEW_TO_TOP_LAYER', 'QFLX_LIQEVAP_FROM_TOP_LAYER', 'QH2OSFC', 'QH2OSFC_TO_ICE', 'QOVER', 'QRUNOFF', 'QSOIL', 'QVEGE', 'QVEGT', 'Qair', 'Qh', 'Qle', 'Qstor', 'RAIN', 'Rnet', 'SMINN', 'SMIN_NH4', 'SMIN_NO3', 'SMIN_NO3_LEACHED', 'SMIN_NO3_RUNOFF', 'SNOW', 'SNOWDP', 'SNOWICE', 'SNOWICE_ICE', 'SNOWLIQ', 'SNOWLIQ_ICE', 'SNOW_5D', 'SNOW_DEPTH', 'SNOW_DEPTH_ICE', 'SNOW_FROM_ATM', 'SNOW_ICE', 'SNOW_PERSISTENCE', 'SNOW_SINKS', 'SNOW_SOURCES', 'SOIL10', 'SOILC_HR', 'SR', 'TG', 'TG_ICE', 'TG_R', 'TG_U', 'TH2OSFC', 'THBOT', 'TLAI', 'TOTECOSYSC', 'TOTECOSYSN', 'TOTFIRE', 'TOTLITC', 'TOTLITC_1m', 'TOTLITN', 'TOTLITN_1m', 'TOTPFTC', 'TOTPFTN', 'TOTSOILICE', 'TOTSOILLIQ', 'TOTSOMC', 'TOTSOMC_1m', 'TOTSOMN', 'TOTSOMN_1m', 'TOTVEGC', 'TOTVEGN', 'TOT_WOODPRODC', 'TOT_WOODPRODC_LOSS', 'TOT_WOODPRODN', 'TOT_WOODPRODN_LOSS', 'TSA', 'TSOI_10CM', 'TWS', 'VPD', 'VPD2M', 'ZWT', 'ZWT_CH4_UNSAT', 'ZWT_PERCH', 'TSOI', 'H2OSOI', 'SOILC_vr', 'SOILICE', 'SOILLIQ', 'CPOOL', 'FCOV', 'ALBD', 'TBOT', 'TREFMNAV', 'TREFMXAV', 'RH2M', 'WIND', 'TSKIN', 'PBOT', 'SUBSIDENCE', 'TOTEXICE_VOL', 'EXCESS_ICE', 'NPP', 'CROPPROD1C', 'CROPPROD1C_LOSS', 'CROPPROD1N', 'CROPPROD1N_LOSS', 'LAND_USE_FLUX', 'VOCFLXT', 'MEG_acetaldehyde', 'MEG_acetic_acid', 'MEG_acetone', 'MEG_carene_3', 'MEG_ethanol', 'MEG_formaldehyde', 'MEG_isoprene', 'MEG_methanol', 'MEG_pinene_a', 'MEG_thujene_a', 'SOM_C_LEACHED', 'SOILN_vr', 'QSNOMELT', 'QTOPSOIL', 'RAIN_FROM_ATM', 'RH', 'SOILWATER_10CM', 'FSAT', 'SNO_T', 'SNO_TK', 'TSL', 'TV', 'Z0MV', 'Z0M_TO_COUPLER', 'ZBOT', 'ZII', 'USTAR'

hist_mfilt = 1
hist_nhtfrq = 0
!fsurdat='/cluster/shared/noresm/inputdata/surfdata_1x1_hist_78pfts_CMIP6_simyr1850_c240809.nc'
!fsurdat='/cluster/shared/noresm/inputdata/surfdata_1x1_hist_78pfts_CMIP6_simyr1985_c240929.nc'
!flanduse_timeseries='landuse.timeseries_1x1_hist_78pfts_CMIP6_simyr1985-2014_c240929.nc'
fsurdat='/cluster/shared/noresm/inputdata/surfdata_1x1_SSP3-7.0_78pfts_CMIP6_simyr1985_c241216.nc'
flanduse_timeseries='/cluster/shared/noresm/inputdata/landuse.timeseries_1x1_SSP3-7.0_78pfts_CMIP6_simyr1985-2100_c241216.nc'" >> user_nl_clm

./case.setup --reset

./xmlchange ATM_NX=577
./xmlchange ATM_NY=582

./pelayout

./preview_namelists

./case.build --clean
./case.build

./case.submit


