Changeset 13280 for NEMO/releases/r4.0/r4.0-HEAD/src/OCE/SBC
- Timestamp:
- 2020-07-09T13:53:42+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/releases/r4.0/r4.0-HEAD/src/OCE/SBC/sbcfwb.F90
r10570 r13280 24 24 ! 25 25 USE in_out_manager ! I/O manager 26 USE iom ! IOM 26 27 USE lib_mpp ! distribued memory computing library 27 28 USE timing ! Timing … … 116 117 IF( kt == nit000 ) THEN ! initialisation 117 118 ! ! Read the corrective factor on precipitations (fwfold) 118 CALL ctl_opn( inum, 'EMPave_old.dat', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 119 READ ( inum, "(24X,I8,2ES24.16)" ) iyear, a_fwb_b, a_fwb 120 CLOSE( inum ) 119 IF ( ln_rstart .AND. iom_varid( numror, 'a_fwb_b', ldstop = .FALSE. ) > 0 & 120 & .AND. iom_varid( numror, 'a_fwb', ldstop = .FALSE. ) > 0 ) THEN 121 IF(lwp) WRITE(numout,*) 'sbc_fwb : reading FW-budget adjustment from restart file' 122 CALL iom_get( numror, 'a_fwb_b', a_fwb_b, ldxios = lrxios ) 123 CALL iom_get( numror, 'a_fwb', a_fwb, ldxios = lrxios ) 124 ELSE 125 CALL ctl_opn( inum, 'EMPave_old.dat', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 126 READ ( inum, "(24X,I8,2ES24.16)" ) iyear, a_fwb_b, a_fwb 127 CLOSE( inum ) 128 END IF 121 129 fwfold = a_fwb ! current year freshwater budget correction 122 130 ! ! estimate from the previous year budget … … 125 133 IF(lwp)WRITE(numout,*)' year = ',iyear-1, ' freshwater budget read = ', a_fwb 126 134 IF(lwp)WRITE(numout,*)' year = ',iyear-2, ' freshwater budget read = ', a_fwb_b 135 ! 136 IF( lwxios ) THEN ! Activate output of restart variables 137 CALL iom_set_rstw_var_active( 'a_fwb_b' ) 138 CALL iom_set_rstw_var_active( 'a_fwb' ) 139 END IF 127 140 ENDIF 128 141 ! ! Update fwfold if new year start … … 143 156 qns(:,:) = qns(:,:) - zcoef * sst_m(:,:) * tmask(:,:,1) ! account for change to the heat budget due to fw correction 144 157 ENDIF 158 ! Output restart information 159 IF( lrst_oce ) THEN 160 IF(lwp) WRITE(numout,*) 161 IF(lwp) WRITE(numout,*) 'sbc_fwb : writing FW-budget adjustment to ocean restart file at it = ', kt 162 IF(lwp) WRITE(numout,*) '~~~~' 163 IF( lwxios ) CALL iom_swap( cwxios_context ) 164 CALL iom_rstput( kt, nitrst, numrow, 'a_fwb_b', a_fwb_b, ldxios = lwxios ) 165 CALL iom_rstput( kt, nitrst, numrow, 'a_fwb', a_fwb, ldxios = lwxios ) 166 IF( lwxios ) CALL iom_swap( cxios_context ) 167 END IF 145 168 ! 146 169 IF( kt == nitend .AND. lwm ) THEN ! save fwfold value in a file (only one required)
Note: See TracChangeset
for help on using the changeset viewer.