Changeset 13094
- Timestamp:
- 2020-06-10T20:28:00+02:00 (4 years ago)
- Location:
- NEMO/branches/2020/ticket2377
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/ticket2377/cfgs/SHARED/namelist_ref
r12489 r13094 407 407 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! ! pairing ! filename ! 408 408 sn_ice ='ice_cover_clim.nc' , -12. ,'ice_cover', .true. , .true. , 'yearly' , '' , '' , '' 409 / 410 !----------------------------------------------------------------------- 411 &namsbc_fwb ! freshwater budget adjustment (nn_fwb > 0) 412 !----------------------------------------------------------------------- 413 rn_fwb0 = 0.0 ! Initial freshwater adjustment flux [kg/m2/s] (nn_fwb = 2) 409 414 / 410 415 !----------------------------------------------------------------------- -
NEMO/branches/2020/ticket2377/src/OCE/SBC/sbcfwb.F90
r13082 r13094 35 35 PUBLIC sbc_fwb ! routine called by step 36 36 37 REAL(wp) :: rn_fwb0 ! initial freshwater adjustment flux [kg/m2/s] (nn_fwb = 2 only) 37 38 REAL(wp) :: a_fwb ! annual domain averaged freshwater budget from the 38 39 ! previous year … … 65 66 INTEGER, INTENT( in ) :: Kmm ! ocean time level index 66 67 ! 67 INTEGER :: i num, ikty, iyear! local integers68 INTEGER :: ios, inum, ikty ! local integers 68 69 REAL(wp) :: z_fwf, z_fwf_nsrf, zsum_fwf, zsum_erp ! local scalars 69 70 REAL(wp) :: zsurf_neg, zsurf_pos, zsurf_tospread, zcoef ! - - … … 72 73 REAL(wp) ,DIMENSION(1) :: z_fwfprv 73 74 COMPLEX(wp),DIMENSION(1) :: y_fwfnow 75 ! 76 NAMELIST/namsbc_fwb/rn_fwb0 74 77 !!---------------------------------------------------------------------- 75 78 ! 76 79 IF( kt == nit000 ) THEN 80 READ( numnam_ref, namsbc_fwb, IOSTAT = ios, ERR = 901 ) 81 901 IF( ios /= 0 ) CALL ctl_nam( ios, 'namsbc_fwb in reference namelist' ) 82 READ( numnam_cfg, namsbc_fwb, IOSTAT = ios, ERR = 902 ) 83 902 IF( ios > 0 ) CALL ctl_nam( ios, 'namsbc_fwb in configuration namelist' ) 84 IF(lwm) WRITE( numond, namsbc_fwb ) 77 85 IF(lwp) THEN 78 86 WRITE(numout,*) … … 80 88 WRITE(numout,*) '~~~~~~~' 81 89 IF( kn_fwb == 1 ) WRITE(numout,*) ' instantaneously set to zero' 82 IF( kn_fwb == 2 ) WRITE(numout,*) ' adjusted from previous year budget'83 90 IF( kn_fwb == 3 ) WRITE(numout,*) ' fwf set to zero and spread out over erp area' 91 IF( kn_fwb == 2 ) THEN 92 WRITE(numout,*) ' adjusted from previous year budget' 93 WRITE(numout,*) 94 WRITE(numout,*) ' Namelist namsbc_fwb' 95 WRITE(numout,*) ' Initial freshwater adjustment flux [kg/m2/s] = ', rn_fwb0 96 END IF 84 97 ENDIF 85 98 ! … … 113 126 CASE ( 2 ) !== fw adjustment based on fw budget at the end of the previous year ==! 114 127 ! 115 IF( kt == nit000 ) THEN ! initialisation116 ! ! readthe fw adjustment (a_fwb)117 IF ( ln_rstart .AND. iom_varid( numror, 'a_fwb', ldstop = .FALSE. ) > 0 ) THEN 128 IF( kt == nit000 ) THEN ! initialisation 129 ! ! set the fw adjustment (a_fwb) 130 IF ( ln_rstart .AND. iom_varid( numror, 'a_fwb', ldstop = .FALSE. ) > 0 ) THEN ! as read from restart file 118 131 IF(lwp) WRITE(numout,*) 'sbc_fwb : reading FW-budget adjustment from restart file' 119 132 CALL iom_get( numror, 'a_fwb', a_fwb, ldxios = lrxios ) 120 ELSE 121 CALL ctl_opn( inum, 'EMPave_old.dat', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 122 READ ( inum, "(24X,I8,2ES24.16)" ) iyear, a_fwb 123 CLOSE( inum ) 133 ELSE ! as specified in namelist 134 a_fwb = rn_fwb0 124 135 END IF 125 136 ! 126 137 IF(lwp)WRITE(numout,*) 127 IF(lwp)WRITE(numout,*)'sbc_fwb : year = ',iyear , ' freshwater budget correction = ', a_fwb 128 IF(lwp)WRITE(numout,*)' year = ',iyear-1, ' freshwater budget read = ', a_fwb 138 IF(lwp)WRITE(numout,*)'sbc_fwb : initial freshwater-budget adjustment = ', a_fwb, 'kg/m2/s' 129 139 ! 130 140 IF( lwxios ) THEN ! Activate output of restart variables … … 157 167 END IF 158 168 ! 159 IF( kt == nitend .AND. lwm ) THEN ! save a_fwb value in a file (only one required) 160 CALL ctl_opn( inum, 'EMPave.dat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE., narea ) 161 WRITE( inum, "(24X,I8,2ES24.16)" ) nyear, a_fwb 162 CLOSE( inum ) 163 ENDIF 169 IF( kt == nitend .AND. lwp ) WRITE(numout,*) 'sbc_fwb : final freshwater-budget adjustment = ', a_fwb, 'kg/m2/s' 164 170 ! 165 171 CASE ( 3 ) !== global fwf set to zero and spread out over erp area ==!
Note: See TracChangeset
for help on using the changeset viewer.