- Timestamp:
- 2020-02-28T15:08:37+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/cfgs/SHARED/namelist_ref
r12468 r12486 576 576 ln_icebergs = .false. ! activate iceberg floats (force =F with "key_agrif") 577 577 ! 578 ! ! restart 579 cn_icbrst_in = "restart_icb" ! suffix of iceberg restart name (input) 580 cn_icbrst_indir = "./" ! directory from which to read input ocean restarts 581 cn_icbrst_out = "restart_icb" ! suffix of ocean restart name (output) 582 cn_icbrst_outdir = "./" ! directory from which to read output ocean restarts 583 ! 578 584 ! ! diagnostics: 579 585 ln_bergdia = .true. ! Calculate budgets -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/ICB/icb_oce.F90
r10702 r12486 124 124 LOGICAL , PUBLIC :: ln_time_average_weight !: Time average the weight on the ocean !!gm I don't understand that ! 125 125 REAL(wp), PUBLIC :: rn_speed_limit !: CFL speed limit for a berg 126 ! 127 ! restart 128 CHARACTER(len=256), PUBLIC :: cn_icbrst_indir , cn_icbrst_in !: in: restart directory, restart name 129 CHARACTER(len=256), PUBLIC :: cn_icbrst_outdir, cn_icbrst_out !: out: restart directory, restart name 126 130 ! 127 131 ! ! Mass thresholds between iceberg classes [kg] -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/ICB/icbini.F90
r12406 r12486 383 383 & rn_bits_erosion_fraction , rn_sicn_shift , ln_passive_mode , & 384 384 & ln_time_average_weight , nn_test_icebergs , rn_test_box , & 385 & ln_use_calving , rn_speed_limit , cn_dir, sn_icb 385 & ln_use_calving , rn_speed_limit , cn_dir, sn_icb , & 386 & cn_icbrst_indir, cn_icbrst_in , cn_icbrst_outdir , cn_icbrst_out 386 387 !!---------------------------------------------------------------------- 387 388 -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/ICB/icbrst.F90
r11536 r12486 69 69 TYPE(point) :: localpt ! NOT a pointer but an actual local variable 70 70 !!---------------------------------------------------------------------- 71 72 71 ! Find a restart file. Assume iceberg restarts in same directory as ocean restarts 73 72 ! and are called TRIM(cn_ocerst)//'_icebergs' 74 cl_path = TRIM(cn_ ocerst_indir)73 cl_path = TRIM(cn_icbrst_indir) 75 74 IF( cl_path(LEN_TRIM(cl_path):) /= '/' ) cl_path = TRIM(cl_path) // '/' 76 cl_filename = TRIM(cn_ ocerst_in)//'_icebergs'75 cl_filename = TRIM(cn_icbrst_in) 77 76 CALL iom_open( TRIM(cl_path)//cl_filename, ncid ) 78 77 … … 192 191 CHARACTER(len=256) :: cl_path 193 192 CHARACTER(len=256) :: cl_filename 193 CHARACTER(len=256) :: cl_kt 194 194 TYPE(iceberg), POINTER :: this 195 195 TYPE(point) , POINTER :: pt … … 204 204 ! Only operate on the restart timestep itself. 205 205 ! Assume we write iceberg restarts to same directory as ocean restarts. 206 cl_path = TRIM(cn_ocerst_outdir) 206 ! 207 ! directory name 208 cl_path = TRIM(cn_icbrst_outdir) 207 209 IF( cl_path(LEN_TRIM(cl_path):) /= '/' ) cl_path = TRIM(cl_path) // '/' 210 ! 211 ! file name 212 WRITE(cl_kt, '(i8.8)') kt 213 cl_filename = TRIM(cexper)//"_"//TRIM(ADJUSTL(cl_kt))//"_"//TRIM(cn_icbrst_out) 208 214 IF( lk_mpp ) THEN 209 WRITE(cl_filename,'(A,"_ icebergs_",I8.8,"_restart_",I4.4,".nc")') TRIM(cexper), kt, narea-1215 WRITE(cl_filename,'(A,"_",I4.4,".nc")') TRIM(cl_filename), narea-1 210 216 ELSE 211 WRITE(cl_filename,'(A," _icebergs_",I8.8,"_restart.nc")') TRIM(cexper), kt217 WRITE(cl_filename,'(A,".nc")') TRIM(cl_filename) 212 218 ENDIF 219 213 220 IF ( lwp .AND. nn_verbose_level >= 0) WRITE(numout,'(2a)') 'icebergs, write_restart: creating ', & 214 221 & TRIM(cl_path)//TRIM(cl_filename) -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/SBC/sbcblk.F90
r12406 r12486 259 259 IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_blk_init: unable to allocate sf structure' ) 260 260 ! 261 ! !- fill the bulk structure with namelist informations 262 CALL fld_fill( sf, slf_i, cn_dir, 'sbc_blk_init', 'surface boundary condition -- bulk formulae', 'namsbc_blk' ) 263 ! 261 264 DO jfpr= 1, jpfld 262 265 ! … … 269 272 & jfpr == jp_hpgi .OR. jfpr == jp_hpgj .OR. jfpr == jp_tair ) ) THEN ! ABL: some fields are 3D input 270 273 ALLOCATE( sf(jfpr)%fnow(jpi,jpj,jpka) ) 271 IF( s lf_i(jfpr)%ln_tint ) ALLOCATE( sf(jfpr)%fdta(jpi,jpj,jpka,2) )274 IF( sf(jfpr)%ln_tint ) ALLOCATE( sf(jfpr)%fdta(jpi,jpj,jpka,2) ) 272 275 ELSE ! others or Bulk fields are 2D fiels 273 276 ALLOCATE( sf(jfpr)%fnow(jpi,jpj,1) ) 274 IF( s lf_i(jfpr)%ln_tint ) ALLOCATE( sf(jfpr)%fdta(jpi,jpj,1,2) )277 IF( sf(jfpr)%ln_tint ) ALLOCATE( sf(jfpr)%fdta(jpi,jpj,1,2) ) 275 278 ENDIF 276 279 ! 277 IF( s lf_i(jfpr)%freqh > 0. .AND. MOD( NINT(3600. * slf_i(jfpr)%freqh), nn_fsbc * NINT(rn_Dt) ) /= 0 ) &280 IF( sf(jfpr)%freqh > 0. .AND. MOD( NINT(3600. * sf(jfpr)%freqh), nn_fsbc * NINT(rn_Dt) ) /= 0 ) & 278 281 & CALL ctl_warn( 'sbc_blk_init: sbcmod timestep rn_Dt*nn_fsbc is NOT a submultiple of atmospheric forcing frequency.', & 279 282 & ' This is not ideal. You should consider changing either rn_Dt or nn_fsbc value...' ) 280 283 ENDIF 281 284 END DO 282 ! !- fill the bulk structure with namelist informations283 CALL fld_fill( sf, slf_i, cn_dir, 'sbc_blk_init', 'surface boundary condition -- bulk formulae', 'namsbc_blk' )284 285 ! 285 286 IF( ln_wave ) THEN
Note: See TracChangeset
for help on using the changeset viewer.