- Timestamp:
- 2017-12-23T13:27:17+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcisf.F90
r9124 r9168 276 276 REWIND( numnam_ref ) ! Namelist namsbc_rnf in reference namelist : Runoffs 277 277 READ ( numnam_ref, namsbc_isf, IOSTAT = ios, ERR = 901) 278 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_isf in reference namelist', lwp )278 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_isf in reference namelist', lwp ) 279 279 280 280 REWIND( numnam_cfg ) ! Namelist namsbc_rnf in configuration namelist : Runoffs 281 281 READ ( numnam_cfg, namsbc_isf, IOSTAT = ios, ERR = 902 ) 282 902 IF( ios /= 0 )CALL ctl_nam ( ios , 'namsbc_isf in configuration namelist', lwp )282 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_isf in configuration namelist', lwp ) 283 283 IF(lwm) WRITE ( numond, namsbc_isf ) 284 284 285 IF ( lwp ) WRITE(numout,*) 286 IF ( lwp ) WRITE(numout,*) 'sbc_isf_init : heat flux of the ice shelf' 287 IF ( lwp ) WRITE(numout,*) '~~~~~~~~~~~' 288 IF ( lwp ) WRITE(numout,*) ' nn_isf = ', nn_isf 289 IF ( lwp ) WRITE(numout,*) ' nn_isfblk = ', nn_isfblk 290 IF ( lwp ) WRITE(numout,*) ' rn_hisf_tbl = ', rn_hisf_tbl 291 IF ( lwp ) WRITE(numout,*) ' nn_gammablk = ', nn_gammablk 292 IF ( lwp ) WRITE(numout,*) ' rn_gammat0 = ', rn_gammat0 293 IF ( lwp ) WRITE(numout,*) ' rn_gammas0 = ', rn_gammas0 294 IF ( lwp ) WRITE(numout,*) ' rn_Cd0 = ', r_Cdmin_top 285 IF(lwp) WRITE(numout,*) 286 IF(lwp) WRITE(numout,*) 'sbc_isf_init : heat flux of the ice shelf' 287 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 288 IF(lwp) WRITE(numout,*) ' Namelist namsbc_isf :' 289 IF(lwp) WRITE(numout,*) ' type ice shelf melting/freezing nn_isf = ', nn_isf 290 IF(lwp) WRITE(numout,*) ' bulk formulation (nn_isf=1 only) nn_isfblk = ', nn_isfblk 291 IF(lwp) WRITE(numout,*) ' thickness of the top boundary layer rn_hisf_tbl = ', rn_hisf_tbl 292 IF(lwp) WRITE(numout,*) ' gamma formulation nn_gammablk = ', nn_gammablk 293 IF(lwp) WRITE(numout,*) ' gammat coefficient rn_gammat0 = ', rn_gammat0 294 IF(lwp) WRITE(numout,*) ' gammas coefficient rn_gammas0 = ', rn_gammas0 295 IF(lwp) WRITE(numout,*) ' top drag coef. used (from namdrg_top) rn_Cd0 = ', r_Cdmin_top 296 297 298 ! 1 = presence of ISF 2 = bg03 parametrisation 299 ! 3 = rnf file for isf 4 = ISF fwf specified 300 ! option 1 and 4 need ln_isfcav = .true. (domzgr) 295 301 ! 296 302 ! Allocate public variable … … 304 310 SELECT CASE ( nn_isf ) 305 311 CASE ( 1 ) 312 IF(lwp) WRITE(numout,*) 313 IF(lwp) WRITE(numout,*) ' ==>>> presence of under iceshelf seas (nn_isf = 1)' 306 314 rhisf_tbl(:,:) = rn_hisf_tbl 307 315 misfkt (:,:) = mikt(:,:) ! same indice for bg03 et cav => used in isfdiv 308 316 ! 309 317 CASE ( 2 , 3 ) 310 318 IF( .NOT.l_isfcpl ) THEN … … 314 322 ENDIF 315 323 ! read effective lenght (BG03) 316 IF (nn_isf == 2) THEN 324 IF( nn_isf == 2 ) THEN 325 IF(lwp) WRITE(numout,*) 326 IF(lwp) WRITE(numout,*) ' ==>>> bg03 parametrisation (nn_isf = 2)' 317 327 CALL iom_open( sn_Leff_isf%clname, inum ) 318 328 cvarLeff = TRIM(sn_Leff_isf%clvar) … … 321 331 ! 322 332 risfLeff = risfLeff*1000.0_wp !: convertion in m 323 END IF 333 ELSE 334 IF(lwp) WRITE(numout,*) 335 IF(lwp) WRITE(numout,*) ' ==>>> rnf file for isf (nn_isf = 3)' 336 ENDIF 324 337 ! read depth of the top and bottom of the isf top boundary layer (in this case, isf front depth and grounding line depth) 325 338 CALL iom_open( sn_depmax_isf%clname, inum ) … … 344 357 END DO 345 358 END DO 346 359 ! 347 360 CASE ( 4 ) 361 IF(lwp) WRITE(numout,*) 362 IF(lwp) WRITE(numout,*) ' ==>>> specified fresh water flux in ISF (nn_isf = 4)' 348 363 ! as in nn_isf == 1 349 364 rhisf_tbl(:,:) = rn_hisf_tbl 350 365 misfkt (:,:) = mikt(:,:) ! same indice for bg03 et cav => used in isfdiv 351 366 ! 352 367 ! load variable used in fldread (use for temporal interpolation of isf fwf forcing) 353 368 IF( .NOT.l_isfcpl ) THEN … … 356 371 CALL fld_fill( sf_fwfisf, (/ sn_fwfisf /), cn_dirisf, 'sbc_isf_init', 'read fresh water flux isf data', 'namsbc_isf' ) 357 372 ENDIF 358 373 ! 374 CASE DEFAULT 375 CALL ctl_stop( 'sbc_isf_init: wrong value of nn_isf' ) 359 376 END SELECT 360 377
Note: See TracChangeset
for help on using the changeset viewer.