Changeset 4751
- Timestamp:
- 2014-08-28T15:28:12+02:00 (10 years ago)
- Location:
- branches/2014/dev_r4650_UKMO14.11_SETTE_OBSASM/NEMOGCM
- Files:
-
- 103 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO14.11_SETTE_OBSASM/NEMOGCM/ARCH/arch-PW7_METO.fcm
r4377 r4751 23 23 %FC mpxlf90_r 24 24 %FCFLAGS -qrealsize=8 -qextname -qsuffix=f=f90 -qarch=pwr7 -qtune=pwr7 -g -O2 -qstrict -qinitauto=7FBFFFFF 25 %FFLAGS -qrealsize=8 -qextname -q suffix=f=f90 -qarch=pwr7 -qtune=pwr7 -g -O2 -qstrict -qinitauto=7FBFFFFF25 %FFLAGS -qrealsize=8 -qextname -qarch=pwr7 -qtune=pwr7 -g -O2 -qstrict -qinitauto=7FBFFFFF -qfixed 26 26 %LD mpCC_r 27 27 %LDFLAGS -lxlf90 -L/projects/um1/lib -lsig -O2 -L MASS -
branches/2014/dev_r4650_UKMO14.11_SETTE_OBSASM/NEMOGCM/CONFIG/ORCA2_LIM/cpp_ORCA2_LIM.fcm
r4523 r4751 1 bld::tool::fppkeys key_trabbl key_lim2 key_dynspg_flt key_diaeiv key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_zdftke key_zdfddm key_zdftmx key_iomput key_mpp_mpi 1 bld::tool::fppkeys key_trabbl key_lim2 key_dynspg_flt key_diaeiv key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_zdftke key_zdfddm key_zdftmx key_iomput key_mpp_mpi key_diaobs key_asminc -
branches/2014/dev_r4650_UKMO14.11_SETTE_OBSASM/NEMOGCM/CONFIG/ORCA2_LIM3/cpp_ORCA2_LIM3.fcm
r4161 r4751 1 bld::tool::fppkeys key_trabbl key_lim3 key_dynspg_flt key_diaeiv key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_zdftke key_zdfddm key_zdftmx key_iomput key_mpp_mpi 1 bld::tool::fppkeys key_trabbl key_lim3 key_dynspg_flt key_diaeiv key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_zdftke key_zdfddm key_zdftmx key_iomput key_mpp_mpi key_diaobs key_asminc -
branches/2014/dev_r4650_UKMO14.11_SETTE_OBSASM/NEMOGCM/CONFIG/SHARED/1_namelist_ref
r4347 r4751 1067 1067 ! ln_ssh Logical switch for SSH observations 1068 1068 1069 ln_sst = . true. ! Logical switch for SST observations1070 ln_reysst = . true. ! ln_reysst Logical switch for Reynolds observations1069 ln_sst = .false. ! Logical switch for SST observations 1070 ln_reysst = .false. ! ln_reysst Logical switch for Reynolds observations 1071 1071 ln_ghrsst = .false. ! ln_ghrsst Logical switch for GHRSST observations 1072 1072 -
branches/2014/dev_r4650_UKMO14.11_SETTE_OBSASM/NEMOGCM/CONFIG/SHARED/namelist_ref
r4384 r4751 1085 1085 ! ln_ssh Logical switch for SSH observations 1086 1086 1087 ln_sst = . true. ! Logical switch for SST observations1088 ln_reysst = . true. ! ln_reysst Logical switch for Reynolds observations1087 ln_sst = .false. ! Logical switch for SST observations 1088 ln_reysst = .false. ! ln_reysst Logical switch for Reynolds observations 1089 1089 ln_ghrsst = .false. ! ln_ghrsst Logical switch for GHRSST observations 1090 1090 -
branches/2014/dev_r4650_UKMO14.11_SETTE_OBSASM/NEMOGCM/CONFIG/cfg.txt
r4529 r4751 11 11 GYRE_BFM OPA_SRC TOP_SRC 12 12 ORCA2_LIM_PISCES OPA_SRC LIM_SRC_2 NST_SRC TOP_SRC 13 ORCA2_LIM_OBS OPA_SRC LIM_SRC_2 -
branches/2014/dev_r4650_UKMO14.11_SETTE_OBSASM/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90
r4624 r4751 208 208 !----------------------------------------------------------------------- 209 209 210 !Initalise all values in namelist arrays 211 enactfiles(:) = '' 212 coriofiles(:) = '' 213 profbfiles(:) = '' 214 slafilesact(:) = '' 215 slafilespas(:) = '' 216 slafbfiles(:) = '' 217 sstfiles(:) = '' 218 sstfbfiles(:) = '' 219 seaicefiles(:) = '' 210 220 velcurfiles(:) = '' 211 221 veladcpfiles(:) = '' 222 velavcurfiles(:) = '' 223 velhrcurfiles(:) = '' 224 velavadcpfiles(:) = '' 225 velhradcpfiles(:) = '' 226 velfbfiles(:) = '' 227 velcurfiles(:) = '' 228 veladcpfiles(:) = '' 229 endailyavtypes(:) = -1 230 endailyavtypes(1) = 820 231 ln_profb_ena(:) = .FALSE. 232 ln_profb_enatim(:) = .TRUE. 233 ln_velfb_av(:) = .FALSE. 234 ln_ignmis = .FALSE. 235 212 236 CALL ini_date( dobsini ) 213 237 CALL fin_date( dobsend ) -
branches/2014/dev_r4650_UKMO14.11_SETTE_OBSASM/NEMOGCM/SETTE/sette.sh
r4379 r4751 138 138 # AMM12 : 7 & 8 139 139 # SAS : 9 & 10 140 # ORCA2_AGRIF_LIM: 11 140 # ORCA2_LIM_OBS: 11 141 # ORCA2_AGRIF_LIM: 12 141 142 for config in 1 2 3 4 5 6 7 8 9 10 11 142 143 … … 865 866 fi 866 867 868 if [ ${config} -eq 11 ] ; then 869 ## Reproducibility tests for ORCA2_LIM_OBS 870 export TEST_NAME="REPRO_4_4" 871 cd ${CONFIG_DIR} 872 . ./makenemo -m ${CMP_NAM} -n ORCA2_LIM_OBS -r ORCA2_LIM_OBS -j 8 del_key ${DEL_KEYS} 873 cd ${SETTE_DIR} 874 . ./param.cfg 875 . ./all_functions.sh 876 . ./prepare_exe_dir.sh 877 JOB_FILE=${EXE_DIR}/run_job.sh 878 NPROC=16 879 if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 880 cd ${EXE_DIR} 881 set_namelist namelist_cfg nn_it000 1 882 set_namelist namelist_cfg nn_itend 75 883 set_namelist namelist_cfg nn_fwb 0 884 set_namelist namelist_cfg ln_ctl .false. 885 set_namelist namelist_cfg ln_clobber .true. 886 set_namelist namelist_cfg jpni 4 887 set_namelist namelist_cfg jpnj 4 888 set_namelist namelist_cfg jpnij 16 889 set_namelist namelist_cfg nn_solv 2 890 set_namelist namelist_cfg ln_t3d .true. 891 set_namelist namelist_cfg ln_s3d .true. 892 set_namelist namelist_cfg ln_profb .true. 893 set_namelist namelist_cfg ln_sst .false. 894 if [ ${USING_MPMD} == "yes" ] ; then 895 set_xio_using_server iodef.xml true 896 else 897 set_xio_using_server iodef.xml false 898 fi 899 cd ${SETTE_DIR} 900 . ./prepare_job.sh input_ORCA2_LIM_OBS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 901 cd ${SETTE_DIR} 902 . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 903 904 cd ${SETTE_DIR} 905 export TEST_NAME="REPRO_2_8" 906 . ./prepare_exe_dir.sh 907 JOB_FILE=${EXE_DIR}/run_job.sh 908 NPROC=16 909 if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 910 cd ${EXE_DIR} 911 set_namelist namelist_cfg nn_it000 1 912 set_namelist namelist_cfg nn_itend 75 913 set_namelist namelist_cfg ln_clobber .true. 914 set_namelist namelist_cfg nn_fwb 0 915 set_namelist namelist_cfg jpni 2 916 set_namelist namelist_cfg jpnj 8 917 set_namelist namelist_cfg jpnij 16 918 set_namelist namelist_cfg nn_solv 2 919 set_namelist namelist_cfg ln_t3d .true. 920 set_namelist namelist_cfg ln_s3d .true. 921 set_namelist namelist_cfg ln_profb .true. 922 set_namelist namelist_cfg ln_sst .false. 923 if [ ${USING_MPMD} == "yes" ] ; then 924 set_xio_using_server iodef.xml true 925 else 926 set_xio_using_server iodef.xml false 927 fi 928 cd ${SETTE_DIR} 929 . ./prepare_job.sh input_ORCA2_LIM_OBS.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 930 cd ${SETTE_DIR} 931 . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 932 fi 933 867 934 # TEST FOR ORCA2_LIM_AGRIF : simple test of running AGRIF (no restartability neither reproducibility tests) 868 if [ ${config} -eq 1 1] ; then935 if [ ${config} -eq 12 ] ; then 869 936 ## ORCA2_LIM with Agulhas AGRIF zoom in MPI 870 937 export TEST_NAME="SHORT" -
branches/2014/dev_r4650_UKMO14.11_SETTE_OBSASM/NEMOGCM/TOOLS/OBSTOOLS/src/date_utils.F90
r3000 r4751 34 34 35 35 END SUBROUTINE add_date 36 37 38 SUBROUTINE add_days_to_date(initial_date,days,final_date) 39 40 ! Add a number of days to initial_date and return it in final_date 41 42 IMPLICIT NONE 43 44 45 !! Arguments 46 INTEGER,INTENT(in) :: initial_date ! Initial date (YYYYMMDD) 47 INTEGER,INTENT(in) :: days ! Number of days to add 48 INTEGER,INTENT(out) :: final_date ! Final date (YYYYMMDD) 49 50 !! Local variables 51 52 INTEGER :: isec,imin,ihours,iyear,imon,iday ! temporary results 53 REAL(dp):: juld 54 55 ! Account for lack of hours in date format (initial_date*100) 56 CALL split_date(initial_date*100,iyear,imon,iday,ihours) 57 58 CALL greg2jul(0,0,ihours,iday,imon,iyear,juld) 59 60 juld=juld+REAL(days) 61 62 CALL jul2greg(isec,imin,ihours,iday,imon,iyear,juld) 63 64 final_date=(iyear*1000000+imon*10000+iday*100+ihours)/100 65 66 END SUBROUTINE add_days_to_date 67 36 68 37 69 SUBROUTINE split_date(iyyyymmddhh,iyyyy,imm,idd,ihh) … … 379 411 END FUNCTION diffdate 380 412 413 INTEGER FUNCTION difftime(itime1,itime2) 414 415 ! Compute difference in minutes between times 416 ! Assumes HHMM or HMM or MM or M format for dates 417 ! 418 ! ORDER MATTERS - itime1 is ealier time 419 ! Result is an integer number of minutes 420 421 IMPLICIT NONE 422 INTEGER, INTENT(IN) :: itime1,itime2 ! Times to be diffed. 423 INTEGER :: imin1, imin2, ihr1, ihr2 424 425 ihr1 = (itime1/100) 426 ihr2 = (itime2/100) 427 428 imin1 = (itime1 - ihr1*100) + (60 * ihr1) 429 imin2 = (itime2 - ihr2*100) + (60 * ihr2) 430 431 ! Assume that itime2 is later, so wrap around midnight if necessary. 432 IF (imin2 < imin1) THEN 433 imin2 = imin2 + 24*60 434 END IF 435 436 difftime = imin2 - imin1 437 438 END FUNCTION difftime 439 440 441 INTEGER FUNCTION add_mins_to_time(itime1, imin_add) 442 443 ! Add number of minutes onto given time 444 ! Assumes time in HHMM or HMM or MM or M format 445 ! 446 ! Result is in HHMM format 447 448 IMPLICIT NONE 449 INTEGER, INTENT(IN) :: itime1,imin_add 450 INTEGER :: imin1, ihr1, imin2, ihr2 451 452 ihr1 = (itime1/100) 453 454 ! itime1 in minutes from previous midnight 455 imin1 = (itime1 - ihr1*100) + (60 * ihr1) 456 457 imin1 = imin1 + imin_add 458 459 ! Add 1day if time went nagative 460 IF (imin1 < 0) THEN 461 imin1 = imin1 + 24*60 462 END IF 463 464 ! Turn number of minutes back into HHMM 465 ihr2 = imin1/60 466 imin2 = imin1 - ihr2*60 467 468 DO 469 IF (ihr2<0) THEN 470 ihr2 = ihr2 + 24 471 ELSE IF (ihr2>=24) THEN 472 ihr2 = ihr2 - 24 473 END IF 474 IF ((ihr2>=0).OR.(ihr2<24)) EXIT 475 END DO 476 477 add_mins_to_time = ihr2*100 + imin2 478 479 END FUNCTION add_mins_to_time 480 381 481 382 482 END MODULE date_utils
Note: See TracChangeset
for help on using the changeset viewer.