========== 20181101: 1. Continued 1 of 20181031. The raw daily GEOS5 data were downloaded successfully this time. > cd ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2 > ./PART3_TmpDisagg.H.sh -- Downscale the monthly BCSD forecasts to daily and sub-daily output -- Submitted batch job 27787035 Submitted batch job 27787036 Submitted batch job 27787037 Submitted batch job 27787038 Submitted batch job 27787039 Submitted batch job 27787040 Submitted batch job 27787041 Submitted batch job 27787042 Submitted batch job 27787043 -- Completed Submitting Sbatch Scripts for Temporal Disaggregation -- The temporal disaggregation is done. (1.1) Under ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2, modified these files: (a) PART4_Combine.H.sh: SYR=1982 EYR=1982 FCST_SYR=1982 FCST_EYR=1982 iMon=jan01 # Initialization Month to be changed as needed iMonNo=1 # Initialization Month to be changed as needed lead_months=9 SRCDIR='/home/fzeng/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2/code_library/' #Path to code_library FORCEDIR='/discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/CLIM/' #PATH to OUTPUT data (b) code_library/run_Combining.scr: #SBATCH --account=s1460 #SBATCH --mail-user=fanwei.zeng@nasa.gov (1.2) Run: > cd ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2 > ./PART4_Combine.H.sh Copying subdaily BCSD Precip forecast files ... Precipitation files for year and member: 1982, 1, 4 ... Precipitation files for year and member: 1982, 2, 4 ... Precipitation files for year and member: 1982, 3, 4 ... Precipitation files for year and member: 1982, 4, 4 Combining subdaily BCSD forecast files Submitted batch job 27790370 2. Continued 4 of 20181030. Purnendu replied: As the error message suggests, the compiler cannot find your hdf5 installation. You can check the GNUmakefile in the directory containing io_hdf5.F90 to see how to include the HDF5 location. > cd ~/Catchment/SMAP_M09 > cp compute_Catch_SMAP_bias.f90 /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp/. > cd /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp > cp -p GNUmakefile_parallel GNUmakefile_parallel.orig > nedit GNUmakefile_parallel & [Added compute_Catch_SMAP_bias.f90 to the ALLSRCS list] > source /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/g5_modules > gmake install This is not correct. See notes on 20181102. Removed compute_Catch_SMAP_bias.f90 from /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp on 20181105. /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp > rm compute_Catch_SMAP_bias.f90 For GNUmakefile_parallel, Sarith removed process_rount.F90 from there on 20181102 because he updated process_rount.F90 but this new process_rount.F90 couldn't compile. So use this modified GNUmakefile_parallel so that the code can compiled. ========== 20181102: 1. Oct report. 2. With Sarith's help, now able to compile compute_Catch_SMAP_bias.f90. What Sarith did was: Copied the compute_Catch_SMAP_bias.f90 to /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Applications/LDAS_App. Added compute_Catch_SMAP_bias to the GNUmakefile under this directory. L49: added "compute_Catch_SMAP_bias.x" under BIN. L154-155: added compute_Catch_SMAP_bias.o : compute_Catch_SMAP_bias.F90 $(FC) $(F90FLAGS_SEQ) -o compute_Catch_SMAP_bias.o -c compute_Catch_SMAP_bias.F90 L193-194: added compute_Catch_SMAP_bias.x : $(LIB_LANA_SEQ) compute_Catch_SMAP_bias.o $(LD) $(LDFLAGS) -o $@ compute_Catch_SMAP_bias.o $(LIB_LANA_SEQ) $(MY_LIBS) 3. Did some comparison, but found what I got not identical to Abheera's. /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/CLIM/GEOS5v2/BCSD_Final/6-hourly/1982/jan01/ens1 > diff GEOS5.198201.nc4 /gpfsm/dnb02/projects/p63/FORECASTS/GEOS5/BCSD_Test/FAME_Jan_data/GEOS5v2/BCSD_Final/6-hourly/1982/jan01/ens1/. Files GEOS5.198201.nc4 and /gpfsm/dnb02/projects/p63/FORECASTS/GEOS5/BCSD_Test/FAME_Jan_data/GEOS5v2/BCSD_Final/6-hourly/1982/jan01/ens1/./GEOS5.198201.nc4 differ /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/CLIM/GEOS5v2/BCSD_Final/6-hourly/1982/jan01/ens4 > diff GEOS5.198201.nc4 /gpfsm/dnb02/projects/p63/FORECASTS/GEOS5/BCSD_Test/FAME_Jan_data/GEOS5v2/BCSD_Final/6-hourly/1982/jan01/ens4/. Files GEOS5.198201.nc4 and /gpfsm/dnb02/projects/p63/FORECASTS/GEOS5/BCSD_Test/FAME_Jan_data/GEOS5v2/BCSD_Final/6-hourly/1982/jan01/ens4/./GEOS5.198201.nc4 differ Contacted Abheera. She said she will check. ========== 20181105: 1. Processed GMAO November forecast. 2. Met with Ben and Eunjee. Chatted with Jim (Collatz) after that. 3. Hindcast Abheera's reply: ---------- I had a chance to compare the final BCSD products you produced and what I produced and they are identical. The only reason you see a “differ” with the “diff” command between our files is because the netcdf files contain history of when the files were created and both our files have different details for it – if you “ncdump -h” the files you can see that. So the way I tested it is as follows: “ncdiff GEOS5.198201.nc4 /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/CLIM/GEOS5v2/BCSD_Final/6-hourly/1982/jan01/ens1/GEOS5.198201.nc4 test.nc4” And if you look in test.nc4 (use ncview test.nc4) in “/discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/CLIM/GEOS5v2/BCSD_Final/6-hourly/1982/jan01/ens1/”, you will see that all fields are zero. Also, I saw that between the common files of what you produced and what I did, the sizes are exactly the same (please ignore the 7th month lead, we just used something else there so it will not match yours, but rest assured it did the job since the first 6 lead months are exactly like ours). ---------- My reply to Abheera: ---------- It's so great that the data in the netcdf files are identical! You are right. Of course the attributes of the two netcdf files will be different. Thanks for using ncdiff to do the comparison and for confirming that what I got is identical to yours. I am so happy to hear this. Thanks for showing me that we can use ncdiff to compare the data in two netcdf files. It's very helpful. May I ask a quick question? When I try using ncdiff, I got "ncdiff: Command not found." Do you know what I need to do before I can use it? You mentioned that you are using something different for the 7th month lead. Should I use the same as yours, or I should just use what I have from you for the 7th-9th month leads? ---------- Abheera's reply: ---------- The reason ncdiff is not working is maybe because the right environment is not set-up, you can try setting up exactly the same environment I had shown you for running the BCSD scripts, let me know if it does not work then we can try figuring out something else for it. Also, if you have a system’s person, who takes care of the environment set-up in your department, it might be worthwhile consulting him or her about these environment issues. I can help too, but my knowledge is very shaky and someone more experienced will be able to give you a quicker fix than what I am, but please feel free to use the set-up I had given you as that is what I am using currently. About the 7th month lead, so we just copied the 6th month lead to 7th month, since we need to have the 7th month lead to force land surface models through LIS to have all 6 month leads. We had completed all our runs for all the months with just 6 month lead so, it was quicker for us to copy and carry on with our analysis (please note, we do not use the 7th month lead in anyway, just that LIS needs it to be present to end the run at the right lead time – which is the 6th lead time in our case) but since you need all 9 months lead, your current BCSD run is fine I would say. Since, this is just a simple tweaking with the 7th month lead we have done please don’t follow our procedure. ---------- > cd /discover/nobackup/projects/gmao/geos_carb/fzeng/ > cp -p /home/fzeng/.login . > source .login > cd /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/CLIM/GEOS5v2/BCSD_Final/6-hourly/1982/jan01/ens1 > ncdiff GEOS5.198201.nc4 /gpfsm/dnb02/projects/p63/FORECASTS/GEOS5/BCSD_Test/FAME_Jan_data/GEOS5v2/BCSD_Final/6-hourly/1982/jan01/ens1/GEOS5.198201.nc4 test.nc4 Still get this error message below: ncdiff: Command not found. Don't have time to make ncdiff work now. Trust Abheera! 4. Continued working on /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Applications/LDAS_App/compute_Catch_SMAP_bias.F90. > cd /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Applications/LDAS_App > ./compute_Catch_SMAP_bias.x ========== 20181106: 1. Used ~/Catchment/SMAP_M09/check_Catch_clim.gs to check the Catchment Nature and SMAP rzmc climatology computed using compute_Catch_SMAP_bias.F90. Found that they are identical. It's because of a typo in compute_Catch_SMAP_bias.F90. Fixed the bug and re-run the program. 2. GPP meeting. 3. Asked Randy about the variables from Hindcasts needed for Catchment-CN. 4. It seems like the the /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp/e0005s_trCO2/catchmentCN.F90 has already included the followings that Randy suggested me to do after reading Catchment-CN SMAP rzmc to process_cn.F90: Once RZ_cn_smap is computed, adjust the CatchCN prognostic variables rather than just the value going to the carbon module. To do this, call RZEQUIL with the input prognostic variable CATDEF and the constants for the particular tile; the output is RZEQ. With this RZEQ, update the prognostic variable RZEXC as follows: RZEXC_new = rz_cn_smap – RZEQ ========== 20181107: 1. Used ~/Catchment/SMAP_M09/check_Catch_clim.gs to check the Catchment Nature and SMAP rzmc climatology computed using compute_Catch_SMAP_bias.F90. Looks correct. 2. Modified /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp/e0005s_trCO2/process_cn.F90 for the new Catchment-CN SMAP experiment. 3. Talked to Randy and he confirmed that the /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp/e0005s_trCO2/catchmentCN.F90 is already doing what he suggested about updating the prognostic variable RZEXC. 4. IDS meeting. Need to modify the scripts from Abheera and process the hindcast data soon. ========== 20181108: 1. Continued modifying /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp/e0005s_trCO2/process_cn.F90 for the new Catchment-CN SMAP experiment. > setenv ESMADIR /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3 > source $ESMADIR/src/g5_modules > cd /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSsurface_GridComp/GEOSland_GridComp/GEOScatchCN_GridComp > cp /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp/e0005s_trCO2/compute_rc.F90 . > cp /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp/e0005s_trCO2/catchmentCN.F90 . > gmake install > cd ../../../GEOSlana_GridComp/ > cp e0005s_trCO2/process_cn.F90 . > cp e0005s_trCO2/clsm_ensdrv_out_routines.F90 . > gmake install > cd ../../Applications/LDAS_App/ > gmake install > cd ../../.. > /bin/cp -pr Linux exec/e0005s_trCO2/. > ls -l exec/e0005s_trCO2/Linux/bin/LDASsaCN_mpi.x -rwxr-xr-x 1 fzeng g0620 69764371 2018-11-09 11:09 exec/e0005s_trCO2/Linux/bin/LDASsaCN_mpi.x* [Fixed a bug on 20181109. The climatology should be big-endian.] 2. Re-do the Catchment-CN SMAP experiment e0005s_trCO2: (1) Prepare files for experiment setup: > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/run > xdiff M09_CN_e0005s_trCO2.exe ../e0005s_trCO2_201810/run/. & [Identical. Good!] > xdiff M09_e0005s_trCO2.bat ../e0005s_trCO2_201810/run/. & [Identical. Good!] (2) Run ldsetup: > cd /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/exec/e0005s_trCO2/Linux/bin > source /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/g5_modules > ./ldsetup setup /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09 /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/run/M09_CN_e0005s_trCO2.exe /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/run/M09_e0005s_trCO2.bat --runmodel --monthsperjob 10 --landmodel catchCN (NOTE: don't use the "--submit" option because we need to modify the job scripts, see below) (3) Check the executable, restart file and create year_co2.txt: > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0005s_trCO2 > ls -l build/Linux/bin/LDASsaCN_mpi.x (to make sure the executable is the right one) -rwxr-xr-x 1 fzeng g0620 69764371 2018-11-09 11:09 build/Linux/bin/LDASsaCN_mpi.x* [Correct!] > ls -l input/restart/ (to make sure the restart file is the right one) lrwxrwxrwx 1 fzeng g0620 70 2018-11-08 12:55 output -> /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0004s_trCO2/output/ (4) Create year_co2.txt: > cd run > echo 2015 > year_co2.txt > cat year_co2.txt (to make sure the year of CO2 is correct) 2015 [Correct!] (5) Copy and modify lenkf.j.template: > cp -p ../../e0005s_trCO2_201810/run/lenkf.j.template . > cp -p ../../e0005s_trCO2_201810/run/lenkf.j.template.1stJob . > mv lenkf.j.template lenkf.j.template.followingjobs > mv lenkf.j.template.1stJob lenkf.j.template > cp -p ../../e0005s_trCO2_201810/run/driver_inputs_M09_GLOBAL_HNL_daily.nml . (6) Copy archive-smap: > cp -p ../../e0005s_trCO2_201810/run/archive-smap . (7) process-smap > cd ~/Catchment/SMAP_M09 > nedit process-smap & set rst = 1 if ($rst == 1) then # set the desired end date for the purpose of saving restart files for specific months # F Zeng, Feb 2016 # ------------------------------------------------------------------------------------ set ymde = 20160131 endif # No longer need to compute CatchCN SMAP rzmc data. It will be computed in the simulation. if (0) then # determine what SMAP data to get; check what has been processed previously # ------------------------------------------------------------------------- mkdir -p $NOBACKUP/SMAP set sdat=`ls -1 $NOBACKUP/SMAP/rzmc_????????.gdat | tail -1 | sed 's/\// /g' | sed 's/\./ /g' | sed 's/_/ /g' | awk '{ print $6 }'` if($status != 0) set sdat=20150330 set yr=`echo $sdat | cut -c1-4` set mo=`echo $sdat | cut -c5-6` set dy=`echo $sdat | cut -c7-8` @ dy++ set dx=$ndy[$mo] if($mo == 2 && ($yr == 2016 || $yr == 2020 || $yr == 2024)) set dx=29 if($dy > $dx) then @ mo++ set dy = 1 if($mo > 12) then @ yr++ set mo = 1 endif endif @ ymdb = ${yr} * 10000 + ${mo} * 100 + ${dy} if(${ymde} >= ${ymdb}) then echo "processing SMAP data from" $ymdb "to" $ymde if($view) then grads -lc "run SMAP.gs $ymdb $ymde $USER" else grads -lbc "run SMAP.gs $ymdb $ymde $USER" endif else echo "SMAP data is up to date, nothing to do" endif endif L187: set exp=5 Run it: ~/Catchment/SMAP_M09 > process-smap After the first e0005s_trCO2 job segment from 20150401 to 20160201 was submitted and started to run successfully: > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0005s_trCO2/run > mv lenkf.j.template lenkf.j.template.1stJob > mv lenkf.j.template.followingjobs lenkf.j.template ========== 20181109: 1. The e0005s_trCO2 run crashed yesterday. With Sarith's help, fixed the problem. The Catchment Nature and SMAP rzmc climatology files should be big-endian instead of little-endian, because I compiled the program using LDASsa. Did an interactive run: > interactive.py -A sp3 -n 140 -a g0620 -X --debug > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0005s_trCO2/run > ./lenkf.j Restored the four files modified for e0005s_trCO2: catchmentCN.F90 clsm_ensdrv_out_routines.F90 compute_rc.F90 process_cn.F90 2. Created /home/fzeng/Catchment/SMAP_M09/verify_e0005s_trCO2.gs to check the output of e0005s_trCO2. ========== 20181113: 1. Checked the output of e0005s_trCO2 using /home/fzeng/Catchment/SMAP_M09/verify_e0005s_trCO2.gs. It doesn't look right. The issue seems to be the mapping. Followed what Sarith did for process_route.F90 to do the mapping in process_cn.F90. Recompiled the code. Re-do the run. Got a lot of these error messages: problem: rzave <= 1.e-4 in catchment 6509 problem: rzave <= 1.e-4 in catchment 7366 problem: rzave <= 1.e-4 in catchment 7705 problem: rzave <= 1.e-4 in catchment 706 problem: rzave <= 1.e-4 in catchment 707 problem: rzave <= 1.e-4 in catchment 708 I tried "if (rzwater(n) > cat_param(n)%poros) rzwater(n) = cat_param(n)%poros" and it doesn't help. I also tried this below, but got the same error messages. if (rzwater(n) < 1.e-4) rzwater(n) = 1.e-4 if (rzwater(n) > cat_param(n)%poros) rzwater(n) = cat_param(n)%poros Going back to what I did on last Friday. It also gives me the same error message. 2. For hindcast, modified: ~/geos5/FORECASTS_BCSD/Fanwei/download/DNload_code_library/process_monthly_forecasts.scr ========== 20181114: 1. Talked to Randy about the error messages about rzave. He needs to read someone's thesis and then he will think about that. 2. Processed the model output using ~/matlab/clm4-to-clm4.5/compare_ts.m clm4.5_Princeton_DE720: 13 through 26 3. Hindcast: Daily SWLAND is only available in ARCHIVE. (Lena) SWLAND is not really used in the simulation because the default setting "alb_from_SWnet = .false." in driver_inputs_0.5D_GLOBAL.nml. SWnet is the same as SWLAND. In catchmentCN.F90 SWLAND is cumputed as "SWLAND(N)=(1.-ASNOW(N))*SWNETF(N) + ASNOW(N)*SWNETS(N)". So no need to extract SWLAND from Hindcast. Checked with Randy and he confirmed that we don't need it. ========== 20181115: 1. Searched for and read documents about China's reforestation policies and see if they can explain part of the positive GPP trends in southeastern China. 2. GMAO Theme Meeting. 3. IT issue: transit to using badge to login 4. Open enrollment issue. ========== 20181116: 1. Hindcast: > cd /discover/nobackup/projects/gmao/geos_carb/fzeng > mv FORECASTS FORECASTS_test > cd ~/geos5/FORECASTS_BCSD/Fanwei/download > ./Download_GEOS5V2_all.H.sh Because of this line 78 "mkdir -p $OUTPUT $OUTPUT2" in ~/geos5/FORECASTS_BCSD/Fanwei/download/DNload_code_library/process_daily_forecasts.scr, it also created the directory "PRECTOT_Daily" which we don't need. Removed it. /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/RAW_GEOS5.V2 > rm -rf PRECTOT_Daily Talked to Abheera. She helped me to check and make sure that my modifications to the download step are correct. 2. For Catchment-CN SMAP experiment: > cd /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSsurface_GridComp/GEOSland_GridComp/Shared > cp -p lsm_routines.F90 lsm_routines.F90.restore > nedit lsm_routines.F90 & Commented out L182: ! print*,'problem: rzave <= 1.e-4 in catchment',n > cp -p lsm_routines.F90 /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp/e0005s_trCO2/. > setenv ESMADIR /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3 > source $ESMADIR/src/g5_modules > gmake install > cd ../GEOScatchCN_GridComp/ > cp /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp/e0005s_trCO2/catchmentCN.F90 . > cp /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp/e0005s_trCO2/compute_rc.F90 . > gmake install > cd /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp/e0005s_trCO2 > cp process_cn.F90 clsm_ensdrv_out_routines.F90 ../. > cd .. > gmake install > cd ../../Applications/LDAS_App > gmake install > cd ../../.. > /bin/cp -pr Linux/ exec/e0005s_trCO2/. /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0005s_trCO2 > ls -l build/Linux/bin/LDASsaCN_mpi.x -rwxr-xr-x 1 fzeng g0620 69743180 2018-11-16 15:33 build/Linux/bin/LDASsaCN_mpi.x* Did an interactive run: > interactive.py -A sp3 -n 140 -a g0620 -X --debug > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0005s_trCO2/run > ./lenkf.j It's running. Stopped it at date_time_new 20150401_051500z. /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0005s_trCO2/run > qsub lenkf.j Restored the 5 files modified for e0005s_trCO2. 3. The clm4.5_Princeton_DE720 has reached reasonable equilibrium. Stop it when the current cycle is complete. > nedit /home/fzeng/Catchment/CLM4.5/submit_next_batch_Princeton_DE720 & Commented out L44 "./ldas_batchrun.j". 4. Abheera's email on 11/5/2018: module load other/nco-4.6.8-gcc-5.3-sp3 [so that ncdiff works, see NCCS email on 20181116] ncdiff file1 file2 diff ncview diff 5. Asked Kristi and Abheera for 2 additional scripts: (1) script(s) to download monthly MERRA2 data, and (2) script(s) to compute MERRA2 6-hourly climatology. For (1): Abheera: The script for downloading the monthly MERRA2 data is in "/discover/nobackup/projects/fame/FORECASTS/GEOS5/BCSD_Test/share_Fanwei/download", the script is "Download_Monthly_MERRA2.scr". I have updated the README file about how to run it. Copied Download_Monthly_MERRA2.scr to ~/geos5/FORECASTS_BCSD/Fanwei/download. ~/geos5/FORECASTS_BCSD/Fanwei > cp -p /discover/nobackup/projects/fame/FORECASTS/GEOS5/BCSD_Test/share_Fanwei/README . For (2): Need to do the calculation by myself. See emails from Kristi today. ========== 20181117: 1. Checked the GEOS5 hindcast monthly and daily files downloaded. > module load other/nco-4.6.8-gcc-5.3-sp3 > cd /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/RAW_GEOS5.V2/Monthly/1982/jan01/ens1/geosgcm_vis2d > ncdiff jan01.geosgcm_vis2d.monthly.198201.nc4 /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS_test/GEOS5/RAW_GEOS5.V2/Monthly/1982/jan01/ens1/geosgcm_vis2d/jan01.geosgcm_vis2d.monthly.198201.nc4 test_diff.nc4 > ncview test_diff.nc4 & CNPRCP, LWS, PRECTOT, PS, Q2M, SLRSF, and T2M are all identical between the two files. Great! > cd /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/RAW_GEOS5.V2/Daily/1982/jan01/ens1/geosgcm_vis2d > ncdiff jan01.geosgcm_vis2d.19820930_0900z.nc4 /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS_test/GEOS5/RAW_GEOS5.V2/Daily/1982/jan01/ens1/geosgcm_vis2d/jan01.geosgcm_vis2d.19820930_0900z.nc4 test_diff.nc4 > ncview test_diff.nc4 & CNPRCP, LWS, PS, Q2M, SLRSF, and T2M are all identical between the two files. Great! PRECTOT is not included in the daily files in FORECASTS_test. 2. ~/geos5/FORECASTS_BCSD/Fanwei/download > nedit Download_GEOS5V2_all.H.sh & FCST_SYR=2011 FCST_EYR=2016 ~/geos5/FORECASTS_BCSD/Fanwei/download > ./Download_GEOS5V2_all.H.sh 3. ~/Catchment/SMAP_M09 > grads -lc "run verify_e0005s_trCO2.gs" The mapping looks correct! Great! ~/Catchment/SMAP_M09 > nedit process-smap & L109: set ymde = 20161130 VGavZZqa'[; ~/Catchment/SMAP_M09 > process-smap 4. Modified ~/geos5/FORECASTS_BCSD/Fanwei/download/Download_Monthly_MERRA2.scr > cd ~/bin > cp -p /home/smahanam/bin/cdo* . > cd ~/geos5/FORECASTS_BCSD/Fanwei/download > ./Download_Monthly_MERRA2.scr 1982 1991 > ./Download_Monthly_MERRA2.scr 1992 2000 > ./Download_Monthly_MERRA2.scr 2001 2010 > ./Download_Monthly_MERRA2.scr 2011 2017 > cd /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/MERRA2/Monthly > ncdiff all_forc_var_198201.nc4 /discover/nobackup/projects/fame/FORECASTS/GEOS5/MERRA2/Monthly/all_forc_var_198201.nc4 diff.nc4 > ncview diff.nc4 & LWGAB, PRECCON, PRECTOT, PS, QV2M, SWGDN and T2M are identical between the two files. Great! ========== 20181118: 1. ~/Catchment/SMAP_M09 > nedit process-smap & L109: set ymde = 20170930 ~/Catchment/SMAP_M09 > process-smap ~/Catchment/SMAP_M09 > grads -lc "run check_rzmc.gs" 2. Hindcast: compute climatologies Modified ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2/PART1_CLIM.sh: lat1=-90 lat2=90 lon1=-180 lon2=180 FORCEDIR='/discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/' L107: for VAR2 in LWGAB PRECCON PS QV2M SWGDN T2M SPEED PRECTOT PRECSNO; do L122: for VAR3 in CNPRCP LWS PRECTOT PS Q2M SLRSF T2M SPEED SNO; do Modified ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2/code_library/Calc_and_Write_forecast_climatology.py: Set the MASK_FILE to MERRA2 mask for all variables. L47-51: #if (VAR=='PRECTOT'): # MASK_FILE = str(sys.argv[14]) #else: # MASK_FILE = str(sys.argv[15]) MASK_FILE = str(sys.argv[15]) L89-93: # if (VAR=='PRECTOT'): # INFILE = INFILE_template.format(INDIR, '/PRECTOT_Monthly', INIT_FCST_YEAR, MONTH_NAME, ens+1, MONTH_NAME, FCST_YEAR, FCST_MONTH) # else: # INFILE = INFILE_template.format(INDIR, '/Monthly', INIT_FCST_YEAR, MONTH_NAME, ens+1, MONTH_NAME, FCST_YEAR, FCST_MONTH) INFILE = INFILE_template.format(INDIR, '/Monthly', INIT_FCST_YEAR, MONTH_NAME, ens+1, MONTH_NAME, FCST_YEAR, FCST_MONTH) Compute climatologies of hindcast and MERRA2: ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2 > ./PART1_CLIM.sh Checked the output: cannot use ncdiff because the dimensions are different /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/CLIM/GEOS5v2/CLIM_DATA/OBS > ncdump -h LWGAB_obs_clim.nc netcdf LWGAB_obs_clim { dimensions: DIST = 13 ; time = 29 ; latitude = 361 ; longitude = 576 ; variables: double clim(DIST, time, latitude, longitude) ; clim:_FillValue = NaN ; int64 DIST(DIST) ; int64 time(time) ; double latitude(latitude) ; latitude:_FillValue = NaN ; double longitude(longitude) ; longitude:_FillValue = NaN ; // global attributes: :_NCProperties = "version=1|netcdflibversion=4.4.1.1|hdf5libversion=1.8.18" ; } /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS_test/GEOS5/CLIM/GEOS5v2/CLIM_DATA/OBS > ncdump -h LWGAB_obs_clim.nc netcdf LWGAB_obs_clim { dimensions: DIST = 13 ; time = 29 ; latitude = 161 ; longitude = 129 ; variables: double clim(DIST, time, latitude, longitude) ; clim:_FillValue = NaN ; int64 DIST(DIST) ; int64 time(time) ; double latitude(latitude) ; latitude:_FillValue = NaN ; double longitude(longitude) ; longitude:_FillValue = NaN ; // global attributes: :_NCProperties = "version=1|netcdflibversion=4.4.1.1|hdf5libversion=1.8.18" ; } 3. Hindcast: bias correction Modified ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2/PART2_BCSD-Calc.H.sh: FCST_SYR=1982 FCST_EYR=2016 lat1=-90 lat2=90 lon1=-180 lon2=180 # CHIRPS_MASK2=${SRCDIR}'/CHIRPS_0.25_MASK.nc' # CHIRPS_MASK3=${SRCDIR}'/CHIRPS_MASK.nc' MERRA2_MASK1=${SRCDIR}'/Mask_merra2.nc' # OBS_VAR_LIST=(PRECCON PRECTOT LWGAB SWGDN PS QV2M T2M U10M V10M) # FCST_VAR_LIST=(CNPRCP PRECTOT LWS SLRSF PS Q2M T2M U10M V10M) # UNIT=('kg/m^2/s' 'kg/m^2/s' 'W/m^2' 'W/m^2' 'Pa' 'kg/kg' 'K' 'm/s' 'm/s') OBS_VAR_LIST=(PRECCON PRECTOT LWGAB SWGDN PS QV2M T2M SPEED PRECSNO) FCST_VAR_LIST=(CNPRCP PRECTOT LWS SLRSF PS Q2M T2M SPEED SNO) UNIT=('kg/m^2/s' 'kg/m^2/s' 'W/m^2' 'W/m^2' 'Pa' 'kg/kg' 'K' 'm/s' 'kg/m^2/s') # sbatch $SRCDIR/run_BCSD_calc.scr ${SRCDIR} ${OBS_VAR_LIST[$VAR_NUM]} ${FCST_VAR_LIST[$VAR_NUM]} $iMonNo $VAR_TYPE ${UNIT[$VAR_NUM]} $lat1 $lat2 $lon1 $lon2 $ens_num $fcstdatatype $lead_months $FCST_SYR $FCST_EYR $CLIM_SYR $CLIM_EYR $CHIRPS_MASK2 $CHIRPS_MASK3 $CLIM_INDIR $FCSTRAW_INDIR $OUTDIR3 $LOGDIR $fcstdatatype sbatch $SRCDIR/run_BCSD_calc.scr ${SRCDIR} ${OBS_VAR_LIST[$VAR_NUM]} ${FCST_VAR_LIST[$VAR_NUM]} $iMonNo $VAR_TYPE ${UNIT[$VAR_NUM]} $lat1 $lat2 $lon1 $lon2 $ens_num $fcstdatatype $lead_months $FCST_SYR $FCST_EYR $CLIM_SYR $CLIM_EYR $MERRA2_MASK1 $MERRA2_MASK1 $CLIM_INDIR $FCSTRAW_INDIR $OUTDIR3 $LOGDIR $fcstdatatype Modified ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2/code_library/Bias_correction_module.py: #MASK = read_nc_files(MASK_FILE, 'mask')[0, ] MASK = read_nc_files(MASK_FILE, 'MASK')[0, ] # if (FCST_VAR=='PRECTOT'): # INFILE = FCST_infile_template.format(FCSTRAWDIR, 'PRECTOT_Monthly', INIT_FCST_YEAR, MONTH_NAME, ens+1, MONTH_NAME, FCST_YEAR, FCST_MONTH) ## print (INFILE) # else: # INFILE = FCST_infile_template.format(FCSTRAWDIR, 'Monthly', INIT_FCST_YEAR, MONTH_NAME, ens+1, MONTH_NAME, FCST_YEAR, FCST_MONTH) ## print (INFILE) INFILE = FCST_infile_template.format(FCSTRAWDIR, 'Monthly', INIT_FCST_YEAR, MONTH_NAME, ens+1, MONTH_NAME, FCST_YEAR, FCST_MONTH) Bias correct hindcast using MERRA2: ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2 > ./PART2_BCSD-Calc.H.sh 4. Hindcast: calculate MERRA2 6-hourly climatology /discover/nobackup/sshukla2/Misc/MERRA_2-6hrly/FORCING > ncdump -h LDT_FORC_CLIMO_001.nc netcdf LDT_FORC_CLIMO_001 { dimensions: east_west = 576 ; north_south = 361 ; ntimes = 4 ; time = 1 ; variables: float lat(north_south, east_west) ; lat:units = "-" ; lat:standard_name = "latitude" ; lat:scale_factor = 1.f ; lat:add_offset = 0.f ; lat:missing_value = -9999.f ; lat:_FillValue = -9999.f ; float lon(north_south, east_west) ; lon:units = "-" ; lon:standard_name = "longitude" ; lon:scale_factor = 1.f ; lon:add_offset = 0.f ; lon:missing_value = -9999.f ; lon:_FillValue = -9999.f ; float CRainf(ntimes, north_south, east_west) ; CRainf:units = "TBD" ; CRainf:standard_name = "Convective Rainfall Rate Level 001" ; CRainf:scale_factor = 1.f ; CRainf:add_offset = 0.f ; CRainf:missing_value = -9999.f ; CRainf:_FillValue = -9999.f ; float Uwind(ntimes, north_south, east_west) ; Uwind:units = "TBD" ; Uwind:standard_name = "Eastward Wind Level 001" ; Uwind:scale_factor = 1.f ; Uwind:add_offset = 0.f ; Uwind:missing_value = -9999.f ; Uwind:_FillValue = -9999.f ; float LWdown(ntimes, north_south, east_west) ; LWdown:units = "TBD" ; LWdown:standard_name = "Incident Longwave Radiation Level 001" ; LWdown:scale_factor = 1.f ; LWdown:add_offset = 0.f ; LWdown:missing_value = -9999.f ; LWdown:_FillValue = -9999.f ; float SWdown(ntimes, north_south, east_west) ; SWdown:units = "TBD" ; SWdown:standard_name = "Incident Shortwave Radiation Level 001" ; SWdown:scale_factor = 1.f ; SWdown:add_offset = 0.f ; SWdown:missing_value = -9999.f ; SWdown:_FillValue = -9999.f ; float Tair(ntimes, north_south, east_west) ; Tair:units = "TBD" ; Tair:standard_name = "Near Surface Air Temperature Level 001" ; Tair:scale_factor = 1.f ; Tair:add_offset = 0.f ; Tair:missing_value = -9999.f ; Tair:_FillValue = -9999.f ; float Qair(ntimes, north_south, east_west) ; Qair:units = "TBD" ; Qair:standard_name = "Near Surface Specific Humidity Level 001" ; Qair:scale_factor = 1.f ; Qair:add_offset = 0.f ; Qair:missing_value = -9999.f ; Qair:_FillValue = -9999.f ; float Vwind(ntimes, north_south, east_west) ; Vwind:units = "TBD" ; Vwind:standard_name = "Northward Wind Level 001" ; Vwind:scale_factor = 1.f ; Vwind:add_offset = 0.f ; Vwind:missing_value = -9999.f ; Vwind:_FillValue = -9999.f ; float Rainf(ntimes, north_south, east_west) ; Rainf:units = "TBD" ; Rainf:standard_name = "Rainfall Rate Level 001" ; Rainf:scale_factor = 1.f ; Rainf:add_offset = 0.f ; Rainf:missing_value = -9999.f ; Rainf:_FillValue = -9999.f ; float Psurf(ntimes, north_south, east_west) ; Psurf:units = "TBD" ; Psurf:standard_name = "Surface Pressure Level 001" ; Psurf:scale_factor = 1.f ; Psurf:add_offset = 0.f ; Psurf:missing_value = -9999.f ; Psurf:_FillValue = -9999.f ; // global attributes: :missing_value = -9999.f ; :title = "LDT metforcing output" ; :institution = "NASA GSFC" ; :history = "created on date: 2017-01-12T18:10:37.493" ; :references = "Kumar_etal_EMS_2006, Peters-Lidard_etal_ISSE_2007" ; :conventions = "CF-1.6" ; :comment = "website: http://lis.gsfc.nasa.gov/" ; :MAP_PROJECTION = "EQUIDISTANT CYLINDRICAL" ; :SOUTH_WEST_CORNER_LAT = -90.f ; :SOUTH_WEST_CORNER_LON = -180.f ; :DX = 0.625f ; :DY = 0.5f ; } 5. ~/Catchment/SMAP_M09 > nedit process-smap & L109: set ymde = 20180604 ========== 20181119: 1. Creating /home/fzeng/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2/MERRA2_6hourly_CLIM.m. 2. Checked the SMAP run output using check_rzmc.gs and verify_e0005s_trCO2.gs in ~/Catchment/SMAP_M09. The difference in the climatologies of the control and the experiment is larger than expected. Made some plots and emailed them to Randy. ========== 20181120: 1. Met with Randy to discuss the issue in the SMAP experiment. Need to make some change in code and re-do the run. 2. Met with Abhishek to help him understand the SMAP simulations. 3. Created a Matlab script /home/fzeng/matlab/SMAP/read_CatchCN_fields.m for Abhishek to read Catchment-CN binary output from the SMAP control and experiment simulations, and write out .mat files. 4. Modified e0005s_trCO2/process_cn.F90 and compiled the driver for e0005s_trCO2: Do this below after updating rzwater: ! DETERMINE INITIAL VALUE OF RZEQ: CALL RZEQUIL ( & N_cat, cat_progn%catdef, cat_param%vgwmax,cat_param%cdcr1,cat_param%cdcr2,cat_param%wpwet, & cat_param%ars1,cat_param%ars2,cat_param%ars3,cat_param%ara1,cat_param%ara2,cat_param%ara3,cat_param%ara4, & cat_param%arw1,cat_param%arw2,cat_param%arw3,cat_param%arw4, & RZEQOL & ) ! add SMAP information where available; rzexc is in kg/m2; gkw: revised formula from Randy 6/22/15 ! moved from catchmentCN.F90 as suggested by Randy, fzeng, 11/20/2018 do n=1,N_cat if(rzwater(n) < 1.e10) cat_progn(n)%rzexc = rzwater(n) - cat_progn(n)%srfexc - rzeqol(n) end do Commented the related part in catchmentCN.F90. > cd /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp/e0005s_trCO2 > cp lsm_routines.F90 ../../GEOSsurface_GridComp/GEOSland_GridComp/Shared/. > cp compute_rc.F90 catchmentCN.F90 ../../GEOSsurface_GridComp/GEOSland_GridComp/GEOScatchCN_GridComp/. > cp process_cn.F90 clsm_ensdrv_out_routines.F90 ../. > setenv ESMADIR /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/ > source $ESMADIR/src/g5_modules > cd ../../GEOSsurface_GridComp/GEOSland_GridComp/Shared > gmake install > cd ../GEOScatchCN_GridComp/ > gmake install > cd ../../../GEOSlana_GridComp/ > gmake install > cd ../../Applications/LDAS_App/ > gmake install > cd ../../.. > ls -l Linux/bin/LDASsaCN_mpi.x -rwxr-xr-x 1 fzeng g0620 69763790 2018-11-20 15:16 Linux/bin/LDASsaCN_mpi.x* > /bin/cp -pr Linux/ exec/e0005s_trCO2/. 5. Re-do e0005s_trCO2: > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09 > mv e0005s_trCO2 e0005s_trCO2_20181116 (1) Prepare files for experiment setup: > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/run > xdiff M09_CN_e0005s_trCO2.exe ../e0005s_trCO2_20181116/run/. & [Identical. Good!] > xdiff M09_e0005s_trCO2.bat ../e0005s_trCO2_20181116/run/. & [Identical. Good!] (2) Run ldsetup: > cd /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/exec/e0005s_trCO2/Linux/bin > source /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/g5_modules > ./ldsetup setup /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09 /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/run/M09_CN_e0005s_trCO2.exe /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/run/M09_e0005s_trCO2.bat --runmodel --monthsperjob 10 --landmodel catchCN (NOTE: don't use the "--submit" option because we need to modify the job scripts, see below) (3) Check the executable, restart file and create year_co2.txt: > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0005s_trCO2 > ls -l build/Linux/bin/LDASsaCN_mpi.x (to make sure the executable is the right one) -rwxr-xr-x 1 fzeng g0620 69763790 2018-11-20 15:16 build/Linux/bin/LDASsaCN_mpi.x* [Correct!] > ls -l input/restart/ (to make sure the restart file is the right one) lrwxrwxrwx 1 fzeng g0620 70 2018-11-20 15:21 output -> /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0004s_trCO2/output/ (4) Create year_co2.txt: > cd run > echo 2015 > year_co2.txt > cat year_co2.txt (to make sure the year of CO2 is correct) 2015 [Correct!] (5) Copy and modify lenkf.j.template: > cp -p ../../e0005s_trCO2_20181116/run/lenkf.j.template . > cp -p ../../e0005s_trCO2_20181116/run/lenkf.j.template.1stJob . > mv lenkf.j.template lenkf.j.template.followingjobs > mv lenkf.j.template.1stJob lenkf.j.template > cp -p ../../e0005s_trCO2_20181116/run/driver_inputs_M09_GLOBAL_HNL_daily.nml . (6) Copy archive-smap: > cp -p ../../e0005s_trCO2_20181116/run/archive-smap . (7) process-smap > cd ~/Catchment/SMAP_M09 > nedit process-smap & set rst = 1 if ($rst == 1) then # set the desired end date for the purpose of saving restart files for specific months # F Zeng, Feb 2016 # ------------------------------------------------------------------------------------ set ymde = 20160131 endif # No longer need to compute CatchCN SMAP rzmc data. It will be computed in the simulation. if (0) then # determine what SMAP data to get; check what has been processed previously # ------------------------------------------------------------------------- mkdir -p $NOBACKUP/SMAP set sdat=`ls -1 $NOBACKUP/SMAP/rzmc_????????.gdat | tail -1 | sed 's/\// /g' | sed 's/\./ /g' | sed 's/_/ /g' | awk '{ print $6 }'` if($status != 0) set sdat=20150330 set yr=`echo $sdat | cut -c1-4` set mo=`echo $sdat | cut -c5-6` set dy=`echo $sdat | cut -c7-8` @ dy++ set dx=$ndy[$mo] if($mo == 2 && ($yr == 2016 || $yr == 2020 || $yr == 2024)) set dx=29 if($dy > $dx) then @ mo++ set dy = 1 if($mo > 12) then @ yr++ set mo = 1 endif endif @ ymdb = ${yr} * 10000 + ${mo} * 100 + ${dy} if(${ymde} >= ${ymdb}) then echo "processing SMAP data from" $ymdb "to" $ymde if($view) then grads -lc "run SMAP.gs $ymdb $ymde $USER" else grads -lbc "run SMAP.gs $ymdb $ymde $USER" endif else echo "SMAP data is up to date, nothing to do" endif endif L191: set exp=5 Run it: ~/Catchment/SMAP_M09 > process-smap Did an interactive run: > interactive.py -A sp3 -n 140 -a g0620 -X --debug > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0005s_trCO2/run > chmod 755 lenkf.j > ./lenkf.j It's running. Stopped it at date_time_new 20150401_050730z. After the first e0005s_trCO2 job segment from 20150401 to 20160201 was submitted and started to run successfully: > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0005s_trCO2/run > mv lenkf.j.template lenkf.j.template.1stJob > mv lenkf.j.template.followingjobs lenkf.j.template ========== 20181121: 1. The results of the new e0005s_trCO2 run are only slightly different from the old e0005s_trCO2 run. Modified process_cn.F90 to write out these variables below and do point runs to see if the code is doing what we think it should do. > cd /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp > setenv ESMADIR /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3 > source $ESMADIR/src/g5_modules > gmake install > cd ../../Applications/LDAS_App/ > gmake install > cd ../../.. > ls -l Linux/bin/LDASsaCN_mpi.x -rwxr-xr-x 1 fzeng g0620 69726926 2018-11-21 13:53 Linux/bin/LDASsaCN_mpi.x* > mkdir -p exec/e0005s_trCO2_point > /bin/cp -pr Linux/ exec/e0005s_trCO2_point/. (1) Prepare files for experiment setup: > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/run > cp M09_CN_e0005s_trCO2.exe M09_CN_e0005s_trCO2_point.exe > cp M09_e0005s_trCO2.bat M09_e0005s_trCO2_point.bat > nedit M09_CN_e0005s_trCO2_point.exe M09_e0005s_trCO2_point.bat & > cp driver_inputs_M09_GLOBAL_HNL.nml driver_inputs_M09_point_HNL.nml > nedit driver_inputs_M09_point_HNL.nml & out_select_ensavg%tile%inst = .false. out_select_ensavg%tile%xhourly = .true. out_select_ensavg%tile%daily = .false. out_select_ensavg%tile%pentad = .false. out_select_ensavg%tile%monthly = .false. minlon = 75. ! min longitude maxlon = 75.2 ! max longitude minlat = 20. ! min latitude maxlat = 20.2 ! max latitude (2) Run ldsetup: > cd /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/exec/e0005s_trCO2_point/Linux/bin > source /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/g5_modules > ./ldsetup setup /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09 /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/run/M09_CN_e0005s_trCO2_point.exe /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/run/M09_e0005s_trCO2_point.bat --runmodel --monthsperjob 10 --landmodel catchCN (NOTE: don't use the "--submit" option because we need to modify the job scripts, see below) (3) Check the executable, restart file and create year_co2.txt: > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0005s_trCO2_point > ls -l build/Linux/bin/LDASsaCN_mpi.x (to make sure the executable is the right one) -rwxr-xr-x 1 fzeng g0620 69726926 2018-11-21 13:53 ../build/Linux/bin/LDASsaCN_mpi.x* [Correct!] > ls -l input/restart/ (to make sure the restart file is the right one) lrwxrwxrwx 1 fzeng g0620 70 2018-11-21 12:13 output -> /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0004s_trCO2/output/ (4) Create year_co2.txt: > cd run > echo 2015 > year_co2.txt > cat year_co2.txt (to make sure the year of CO2 is correct) 2015 [Correct!] Did an interactive run: > interactive.py -A sp3 -n 1 -a g0620 -X --debug > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0005s_trCO2_point/run > /bin/rm ../output/SMAP_EASEv2_M09_point/rc_out/* > ./lenkf.0.j Plotted the time series of different rzmc in the model and confirmed that the data is read into the model correctly. There is some difference between rzmc and rzwater. Could the difference between rzmc and rzwater that is causing the difference in rzmc climatology between e0004s_trCO2 and e0005s_trCO2? Did 2 below to check. 2. Stopped and re-do the e0005s_trCO2 run: > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09 > mv e0005s_trCO2 e0005s_trCO2_20181120 > cd /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/Components/GEOSlana_GridComp/e0005s_trCO2 > cp process_cn.F90 clsm_ensdrv_out_routines.F90 ../. > cd .. > nedit process_cn.F90 & Moved "cn_diagn(n)%sai = rzwater(n) * 10800. / dtstep" to before "rzwater(n) = rzwater(n)*cat_param(n)%dzrz", and changed it to "cn_diagn(n)%sai = rzwater(n) / cat_param(n)%poros * 10800. / dtstep". > setenv ESMADIR /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3 > source $ESMADIR/src/g5_modules > gmake install > cd ../../Applications/LDAS_App/ > gmake install > cd ../../.. > ls -l Linux/bin/LDASsaCN_mpi.x -rwxr-xr-x 1 fzeng g0620 69759694 2018-11-21 15:57 Linux/bin/LDASsaCN_mpi.x* > /bin/cp -pr Linux/ exec/e0005s_trCO2/. (1) Prepare files for experiment setup: > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/run > xdiff M09_CN_e0005s_trCO2.exe ../e0005s_trCO2_20181120/run/. & [Identical. Good!] > xdiff M09_e0005s_trCO2.bat ../e0005s_trCO2_20181120/run/. & [Identical. Good!] (2) Run ldsetup: > cd /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/exec/e0005s_trCO2/Linux/bin > source /discover/nobackup/fzeng/LDASsa_m3-16_0_p2_CatchCatchCN_for_MERRA3/src/g5_modules > ./ldsetup setup /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09 /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/run/M09_CN_e0005s_trCO2.exe /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/run/M09_e0005s_trCO2.bat --runmodel --monthsperjob 10 --landmodel catchCN (NOTE: don't use the "--submit" option because we need to modify the job scripts, see below) (3) Check the executable, restart file and create year_co2.txt: > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0005s_trCO2 > ls -l build/Linux/bin/LDASsaCN_mpi.x (to make sure the executable is the right one) -rwxr-xr-x 1 fzeng g0620 69759694 2018-11-21 15:57 build/Linux/bin/LDASsaCN_mpi.x* [Correct!] > ls -l input/restart/ (to make sure the restart file is the right one) lrwxrwxrwx 1 fzeng g0620 70 2018-11-21 15:42 output -> /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0004s_trCO2/output/ (4) Create year_co2.txt: > cd run > echo 2015 > year_co2.txt > cat year_co2.txt (to make sure the year of CO2 is correct) 2015 [Correct!] (5) Copy and modify lenkf.j.template: > cp -p ../../e0005s_trCO2_20181120/run/lenkf.j.template . > cp -p ../../e0005s_trCO2_20181120/run/lenkf.j.template.1stJob . > mv lenkf.j.template lenkf.j.template.followingjobs > mv lenkf.j.template.1stJob lenkf.j.template > cp -p ../../e0005s_trCO2_20181120/run/driver_inputs_M09_GLOBAL_HNL_daily.nml . (6) Copy archive-smap: > cp -p ../../e0005s_trCO2_20181120/run/archive-smap . (7) process-smap > cd ~/Catchment/SMAP_M09 > nedit process-smap & set rst = 1 if ($rst == 1) then # set the desired end date for the purpose of saving restart files for specific months # F Zeng, Feb 2016 # ------------------------------------------------------------------------------------ set ymde = 20160131 endif # No longer need to compute CatchCN SMAP rzmc data. It will be computed in the simulation. if (0) then # determine what SMAP data to get; check what has been processed previously # ------------------------------------------------------------------------- mkdir -p $NOBACKUP/SMAP set sdat=`ls -1 $NOBACKUP/SMAP/rzmc_????????.gdat | tail -1 | sed 's/\// /g' | sed 's/\./ /g' | sed 's/_/ /g' | awk '{ print $6 }'` if($status != 0) set sdat=20150330 set yr=`echo $sdat | cut -c1-4` set mo=`echo $sdat | cut -c5-6` set dy=`echo $sdat | cut -c7-8` @ dy++ set dx=$ndy[$mo] if($mo == 2 && ($yr == 2016 || $yr == 2020 || $yr == 2024)) set dx=29 if($dy > $dx) then @ mo++ set dy = 1 if($mo > 12) then @ yr++ set mo = 1 endif endif @ ymdb = ${yr} * 10000 + ${mo} * 100 + ${dy} if(${ymde} >= ${ymdb}) then echo "processing SMAP data from" $ymdb "to" $ymde if($view) then grads -lc "run SMAP.gs $ymdb $ymde $USER" else grads -lbc "run SMAP.gs $ymdb $ymde $USER" endif else echo "SMAP data is up to date, nothing to do" endif endif L191: set exp=5 Run it: ~/Catchment/SMAP_M09 > process-smap Did an interactive run: > interactive.py -A sp3 -n 140 -a g0620 -X --debug > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0005s_trCO2/run > chmod 755 lenkf.j > ./lenkf.j It's running. Stopped it at date_time_new 20150401_090000z. After the first e0005s_trCO2 job segment from 20150401 to 20160201 was submitted and started to run successfully: > cd /discover/nobackup/fzeng/Catchment/SMAP_EASEv2_M09/e0005s_trCO2/run > mv lenkf.j.template lenkf.j.template.1stJob > mv lenkf.j.template.followingjobs lenkf.j.template 3. Continued working on /home/fzeng/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2/MERRA2_6hourly_CLIM.m. Ran it to compute MERRA2 6-hourly climatology. ========== 20181122: 1. Check the MERRA2 6-hourly climatology files I created. > cd /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/CLIM/GEOS5v2/CLIM_DATA/OBS/MERRA_2-6hrly > module load other/nco-4.6.8-gcc-5.3-sp3 > ncdiff MERRA2_6hrly_CLIMO_001_test.nc /discover/nobackup/sshukla2/Misc/MERRA_2-6hrly/FORCING/LDT_FORC_CLIMO_001.nc diff.nc4 > ncview diff.nc4 & Not right. Fixed a bug. Re-ran /home/fzeng/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2/MERRA2_6hourly_CLIM.m. 2. (1) Modified ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2/PART3_TmpDisagg.H.sh: FCST_SYR=1982 # SYR and EYR should be the same as FCST_EYR=2016 # the monthly BCSD files with start and end years lat1=-90 lat2=90 lon1=-180 lon2=180 INDIR21='/discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/CLIM/GEOS5v2/CLIM_DATA/OBS/' # OBS_VAR_LIST=(PRECCON PRECTOT LWGAB SWGDN PS QV2M T2M U10M V10M) # FCST_VAR_LIST=(CNPRCP PRECTOT LWS SLRSF PS Q2M T2M U10M V10M) # UNITS=('kg/m^2/s' 'kg/m^2/s' 'W/m^2' 'W/m^2' 'Pa' 'kg/kg' 'K' 'm/s' 'm/s') OBS_VAR_LIST=(PRECCON PRECTOT LWGAB SWGDN PS QV2M T2M SPEED PRECSNO) FCST_VAR_LIST=(CNPRCP PRECTOT LWS SLRSF PS Q2M T2M SPEED SNO) UNITS=('kg/m^2/s' 'kg/m^2/s' 'W/m^2' 'W/m^2' 'Pa' 'kg/kg' 'K' 'm/s' 'kg/m^2/s') # if [ $VAR_NUM == 0 ] || [ $VAR_NUM == 1 ] || [ $VAR_NUM == 3 ]; then if [ $VAR_NUM == 0 ] || [ $VAR_NUM == 1 ] || [ $VAR_NUM == 3 ] || [ $VAR_NUM == 8 ]; then VAR_TYPE='PRCP' else VAR_TYPE='TEMP' fi (2) Modified ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2/code_library/run_Temporal_disagg.scr: echo "Doing daily temporal downscaling"; # python $SRCDIR/Daily_Temporal_disaggregation_module.py $OBS_VAR_LIST $FCST_VAR_LIST $YEAR $iMonNo $VAR_TYPE $UNITS $lat1 $lat2 $lon1 $lon2 $fcstdatatype $ens_num $lead_months $FCST_SYR $FCST_EYR $MASK_FILE1 $MASK_FILE2 $INDIR2 $DAILY_RAW_FCST_DIR $OUTDIR2 python $SRCDIR/Daily_Temporal_disaggregation_module.py $OBS_VAR_LIST $FCST_VAR_LIST $YEAR $iMonNo $VAR_TYPE $UNITS $lat1 $lat2 $lon1 $lon2 $fcstdatatype $ens_num $lead_months $FCST_SYR $FCST_EYR $MASK_FILE3 $MASK_FILE3 $INDIR2 $DAILY_RAW_FCST_DIR $OUTDIR2 (3) Modified ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2/code_library/Daily_Temporal_disaggregation_module.py: #MASK = read_nc_files(MASK_FILE, 'mask')[0, ] MASK = read_nc_files(MASK_FILE, 'MASK')[0, ] # if (FCST_VAR=='PRECTOT'): # INFILE = Daily_infile_template.format(DAILY_RAW_FCST_DIR, 'PRECTOT_Daily', INIT_FCST_YEAR, MONTH_NAME, ens+1, MONTH_NAME, FCST_YEAR, FCST_MONTH, DAY+1) # else: # INFILE = Daily_infile_template.format(DAILY_RAW_FCST_DIR, 'Daily', INIT_FCST_YEAR, MONTH_NAME, ens+1, MONTH_NAME, FCST_YEAR, FCST_MONTH, DAY+1) INFILE = Daily_infile_template.format(DAILY_RAW_FCST_DIR, 'Daily', INIT_FCST_YEAR, MONTH_NAME, ens+1, MONTH_NAME, FCST_YEAR, FCST_MONTH, DAY+1) (4) Modified ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2/code_library/Sub_Daily_Temporal_disaggregation_module.py: ## Reading mask file #if (VAR=='PRECTOT'): ## MODIFY PATHS BELOW ... # MASK_FILE = str(sys.argv[18]) # MASK = read_nc_files(MASK_FILE, 'mask')[0, ] #else: ## MODIFY PATHS BELOW ... # MASK_FILE = str(sys.argv[19]) # MASK = read_nc_files(MASK_FILE, 'MASK')[0, ] MASK_FILE = str(sys.argv[19]) MASK = read_nc_files(MASK_FILE, 'MASK')[0, ] #CRainf Rainf LWdown SWdown Psurf Qair Tair Wind Snowf #PRECCON PRECTOT LWGAB SWGDN PS QV2M T2M SPEED PRECSNO if (VAR=='PRECCON'): CLIM_VAR = 'CRainf' elif (VAR=='PRECTOT'): CLIM_VAR = 'Rainf' elif (VAR=='LWGAB'): CLIM_VAR = 'LWdown' elif (VAR=='SWGDN'): CLIM_VAR = 'SWdown' elif (VAR=='PS'): CLIM_VAR = 'Psurf' elif (VAR=='QV2M'): CLIM_VAR = 'Qair' elif (VAR=='T2M'): CLIM_VAR = 'Tair' elif (VAR=='SPEED'): CLIM_VAR = 'Wind' elif (VAR=='PRECSNO'): CLIM_VAR = 'Snowf' #if (VAR=='PRECTOT'): # CLIM_INFILE_template = '{}/MERRA_2-6hrly_PRECTOT/FORCING/LDT_FORC_CLIMO_{:03d}.nc' #else: # CLIM_INFILE_template = '{}/MERRA_2-6hrly/FORCING/LDT_FORC_CLIMO_{:03d}.nc' CLIM_INFILE_template = '{}/MERRA_2-6hrly/MERRA2_6hrly_CLIMO_{:03d}.nc' # if (VAR=='PRECTOT'): # write_BC_netcdf(OUTFILE, OUTPUT_BC_DATA, VAR, 'Bias corrected forecasts', 'MODEL:' + MODEL_NAME, UNIT, VAR, LONS, LATS, SDATE, dates, 5, 49.875, 179.875, -49.875, -179.875, 0.25, 0.25, 21600) # else: # write_BC_netcdf(OUTFILE, OUTPUT_BC_DATA, VAR, 'Bias corrected forecasts', 'MODEL:' + MODEL_NAME, UNIT, VAR, LONS, LATS, SDATE, dates, 5, 90, 179.375, -90, -180, 0.625, 0.5, 21600) write_BC_netcdf(OUTFILE, OUTPUT_BC_DATA, VAR, 'Bias corrected forecasts', 'MODEL:' + MODEL_NAME, UNIT, VAR, LONS, LATS, SDATE, dates, 5, 90, 179.375, -90, -180, 0.625, 0.5, 21600) Also added the calculation of PARDR and PARDF. Do a diff with ~/geos5/FORECASTS_BCSD/Abheera/BCSD/FAME_Dec_V2/code_library/Sub_Daily_Temporal_disaggregation_module.py for more modifications to this script. ========== 20181123: 1. Continued working on 2 of 20181122. 2. Modified LDAS_Forcing.F90 to read the bias-corrected 6 hourly hindcast data. ========== 20181126: 1. Checked the output of the new e0005s_trCO2 run. RZMC and RZWATER are very close to each other, so the difference between the two cannot explain the difference in the rzmc climatology between e0004s_trCO2 and e0005s_trCO2. Reported this to Randy. Next is to compare rzmc in e0004s_wet2 to rzmc in e0004s_trCO2. 2. Met with Randy and Eunjee. 3. GPP meeting. ========== 20181127: 1. Checked the MERRA2 6-hourly climatolgy I computed. /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/CLIM/GEOS5v2/CLIM_DATA/OBS/MERRA_2-6hrly > ncview MERRA2_6hrly_CLIMO_001.nc & /discover/nobackup/sshukla2/Misc/MERRA_2-6hrly/FORCING > ncview LDT_FORC_CLIMO_001.nc & > cd /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/CLIM/GEOS5v2/CLIM_DATA/OBS/MERRA_2-6hrly > module load other/nco-4.6.8-gcc-5.3-sp3 > ncdiff MERRA2_6hrly_CLIMO_001.nc /discover/nobackup/sshukla2/Misc/MERRA_2-6hrly/FORCING/LDT_FORC_CLIMO_001.nc CLIMO_001_diff.nc > ncview CLIMO_001_diff.nc & The 6-hourly PARDR and PARDF output now has -999 as night time value, while SWdown has 0. Changed ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2/code_library/Sub_Daily_Temporal_disaggregation_module.py to initialize them to 0 instead of -999, and re-ran PART3_TmpDisagg.H.sh. ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2 > ./PART3_TmpDisagg.H.sh 2. Created /home/fzeng/Catchment/SMAP_M09/compare_e0004s_wet2_trCO2.f90 to compare rzmc from e0004s_wet2 and rzmc from e0004s_trCO2 to see if they are identical. Modified tile2grid_ease_spinup_wet2_daily.f90 and processed the e0004s_wet2 20170101-20180731 output. ~/Catchment/SMAP_M09 > tile2grid_ease_spinup_wet2_daily e0004s_wet2 But can not use these hdeg output to compare rzmc from e0004s_wet2 and rzmc from e0004s_trCO2, because rzmc from e0004s_wet2 is volumetric while rzmc from e0004s_trCO2 is fraction of porosity. The latter needs to be multiplied by the porosity to become volumetric, and porosity is in tile-space. Therefore, need to use the original tile-space output to do the comparison. BCs in e0004s_wet2: /discover/nobackup/ltakacs/bcs/Icarus-NL/Icarus-NL_EASE/ BCs in e0004s_trCO2: /discover/nobackup/ltakacs/bcs/Heracles-NL/ Luckily, e0004s_wet2.ldas_domain.txt and e0004s_trCO2.ldas_domain.txt are identical! catchment.def is identical between the two BCs. ========== 20181128: 1. ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2/PART3_TmpDisagg.H.sh was able to finish 6 years (1982-1987, 4 ensembles each year) within 12 hours. Modified it to process 1988 through 1993: FCST_SYR=1988 # SYR and EYR should be the same as FCST_EYR=1993 # the monthly BCSD files with start and end years ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2 > ./PART3_TmpDisagg.H.sh 2. Continued working on /home/fzeng/Catchment/SMAP_M09/compare_e0004s_wet2_trCO2.f90. ========== 20181129: 1. Kristi replied about MERRA-2 6-hourly climatology. She asked about the differences for some other days of the year. Checked some other days. > cd /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/CLIM/GEOS5v2/CLIM_DATA/OBS/MERRA_2-6hrly > module load other/nco-4.6.8-gcc-5.3-sp3 > ncdiff MERRA2_6hrly_CLIMO_200.nc /discover/nobackup/sshukla2/Misc/MERRA_2-6hrly/FORCING/LDT_FORC_CLIMO_200.nc CLIMO_200_diff.nc > ncview CLIMO_200_diff.nc & Made more plots to understand the differences in MERRA-2 6-hourly climatologies between what I calculated and those in Shrad's directory. ========== 20181130: 1. The temporal downscaling for 1988-1993 and 1994-1999 actually didn't work correctly, although still writing out 6-hourly output for some reason that I still don't know. This is because in PART3_TmpDisagg.H.sh I have FCST_SYR=1994 # SYR and EYR should be the same as FCST_EYR=1999 # the monthly BCSD files with start and end years Since in /discover/nobackup/projects/gmao/geos_carb/fzeng/FORECASTS/GEOS5/CLIM/GEOS5v2/BCSD_DATA/Coarse, the monthly bias-corrected files have names like "SWGDN.GEOS5v2.jan01_1982_2016.nc", I have to set FCST_SYR to 1982 and FCST_EYR to 2016. However, the temporal downscaling can only process 5 years of data within 12 hours! The solution is to modify run_Temporal_disagg.scr to become: python $SRCDIR/Daily_Temporal_disaggregation_module.py $OBS_VAR_LIST $FCST_VAR_LIST $YEAR $iMonNo $VAR_TYPE $UNITS $lat1 $lat2 $lon1 $lon2 $fcstdatatype $ens_num $lead_months 1982 2016 $MASK_FILE3 $MASK_FILE3 $INDIR2 $DAILY_RAW_FCST_DIR $OUTDIR2 python $SRCDIR/Sub_Daily_Temporal_disaggregation_module.py $OBS_VAR_LIST $YEAR $iMonNo $VAR_TYPE $UNITS $lat1 $lat2 $lon1 $lon2 $fcstdatatype $ens_num $lead_months 1982 2016 $INDIR21 $INDIR2 $OUTDIR2 $MASK_FILE1 $MASK_FILE3 The 6-hourly output for 1982-1987 should be good, since at that time I set FCST_SYR to 1982 and FCST_EYR to 2016 in PART3_TmpDisagg.H.sh. Checked the 198709 files for ens4, and they look fine. Now in PART3_TmpDisagg.H.sh set: FCST_SYR=1988 # SYR and EYR should be the same as FCST_EYR=1993 # the monthly BCSD files with start and end years ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2 > ./PART3_TmpDisagg.H.sh Monitor the log files! The jobs have been running for 20 minutes so far, and there is no error messages so far. Jobs finished without error messages. Emailed Kristi and Abheera about this. Abheera suggests: bias correct the monthly data for each year (so SYR and EYR will be the same) and temporally disaggregate one year at a time in the same way. ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2 > nedit PART2_BCSD-Calc.H.sh & FCST_SYR=2016 FCST_EYR=2016 ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2 > ./PART2_BCSD-Calc.H.sh ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2 > nedit PART2_BCSD-Calc.H.sh & FCST_SYR=2014 FCST_EYR=2014 ~/geos5/FORECASTS_BCSD/Fanwei/BCSD/FAME_Dec_V2 > ./PART2_BCSD-Calc.H.sh Jobs finished without error messages. 2. Compared rzmc between e0004s_wet2 and e0004s_trCO2 using: ~/Catchment/SMAP_M09/compare_e0004s_wet2_trCO2.f90 ~/matlab/SMAP/compare_e0004s_wet2_trCO2.m For 20180601: Min and Max of rzmc difference: -0.1062829 7.2950602E-02 All the tiles with rzmc difference larger than 0.01: tile id lat lon rzmc rzmc rzmc diff wet2 trCO2 trCO2-wet2 ------------------------------------------------------- 1530250 34.9 127.6 0.313 0.303 -0.010 1445409 24.6 115.6 0.309 0.382 0.073 542305 32.3 -8.7 0.499 0.487 -0.011 547164 32.7 -7.8 0.533 0.483 -0.050 871370 11.4 30.0 0.543 0.521 -0.022 834681 9.4 26.9 0.519 0.507 -0.012 819815 10.2 25.7 0.402 0.392 -0.010 802713 9.8 24.3 0.424 0.407 -0.017 951032 -1.9 37.6 0.512 0.491 -0.022 951031 -1.9 37.6 0.511 0.479 -0.032 951913 -2.0 37.7 0.517 0.482 -0.035 767119 -7.5 21.4 0.307 0.322 0.016 43909 45.0 -122.8 0.393 0.421 0.028 234669 48.6 -80.7 0.507 0.529 0.023 211018 34.3 -86.4 0.416 0.463 0.047 187762 36.6 -91.7 0.369 0.385 0.016 182420 38.1 -92.9 0.443 0.501 0.058 181611 38.0 -93.1 0.498 0.422 -0.076 182016 38.0 -93.0 0.455 0.478 0.022 106230 46.9 -107.3 0.472 0.489 0.017 106683 46.9 -107.2 0.515 0.490 -0.025 199173 17.5 -89.3 0.497 0.533 0.036 198726 17.5 -89.4 0.515 0.534 0.019 1012325 38.5 44.9 0.464 0.358 -0.106 1095010 53.5 58.1 0.248 0.224 -0.024 1094079 53.5 57.9 0.247 0.268 0.021 1092612 53.5 57.7 0.280 0.269 -0.011 1095009 53.7 58.1 0.263 0.240 -0.023 1615291 -17.1 142.1 0.217 0.231 0.014 1465440 1.7 118.1 0.501 0.512 0.011 1682781 -40.1 176.9 0.357 0.339 -0.018 1682782 -40.2 176.9 0.318 0.378 0.060 1682778 -39.8 176.9 0.356 0.345 -0.011 1682846 -39.9 177.0 0.335 0.283 -0.053 1682910 -39.6 177.1 0.369 0.292 -0.077 1682644 -40.2 176.7 0.343 0.373 0.030 1682712 -40.1 176.8 0.343 0.274 -0.069 1682713 -40.2 176.8 0.328 0.346 0.018 After aggregating to 0.5 deg, the difference is very small and can't be noticed when plotted on Matlab. Do I need to further compare the code between e0004s_wet2 and e0004s_trCO2? Double checked ~/Catchment/SMAP_M09/compute_Catch_SMAP_bias.F90 but didn't see anything wrong.