Changeset 13970 for NEMO/trunk/src/OCE/SBC
- Timestamp:
- 2020-12-02T10:56:33+01:00 (4 years ago)
- Location:
- NEMO/trunk/src/OCE/SBC
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/SBC/sbcapr.F90
r13286 r13970 65 65 CHARACTER(len=100) :: cn_dir ! Root directory for location of ssr files 66 66 TYPE(FLD_N) :: sn_apr ! informations about the fields to be read 67 LOGICAL :: lrxios ! read restart using XIOS?68 67 !! 69 68 NAMELIST/namsbc_apr/ cn_dir, sn_apr, ln_ref_apr, rn_pref, ln_apr_obc … … 108 107 CALL ctl_warn( 'sbc_apr: use inverse barometer ssh at open boundary ONLY requires ln_apr_dyn=T' ) 109 108 ! 110 IF( lwxios ) THEN111 CALL iom_set_rstw_var_active('ssh_ibb')112 ENDIF113 109 END SUBROUTINE sbc_apr_init 114 110 … … 154 150 IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN 155 151 IF(lwp) WRITE(numout,*) 'sbc_apr: ssh_ibb read in the restart file' 156 CALL iom_get( numror, jpdom_auto, 'ssh_ibb', ssh_ibb , ldxios = lrxios) ! before inv. barometer ssh152 CALL iom_get( numror, jpdom_auto, 'ssh_ibb', ssh_ibb ) ! before inv. barometer ssh 157 153 ! 158 154 ELSE !* no restart: set from nit000 values … … 167 163 IF(lwp) WRITE(numout,*) 'sbc_apr : ssh_ib written in ocean restart file at it= ', kt,' date= ', ndastp 168 164 IF(lwp) WRITE(numout,*) '~~~~' 169 IF( lwxios ) CALL iom_swap( cwxios_context ) 170 CALL iom_rstput( kt, nitrst, numrow, 'ssh_ibb' , ssh_ib, ldxios = lwxios ) 171 IF( lwxios ) CALL iom_swap( cxios_context ) 165 CALL iom_rstput( kt, nitrst, numrow, 'ssh_ibb' , ssh_ib ) 172 166 ENDIF 173 167 ! -
NEMO/trunk/src/OCE/SBC/sbcmod.F90
r13722 r13970 359 359 IF( ln_wave ) CALL sbc_wave_init ! surface wave initialisation 360 360 ! 361 IF( lwxios ) THEN362 CALL iom_set_rstw_var_active('utau_b')363 CALL iom_set_rstw_var_active('vtau_b')364 CALL iom_set_rstw_var_active('qns_b')365 ! The 3D heat content due to qsr forcing is treated in traqsr366 ! CALL iom_set_rstw_var_active('qsr_b')367 CALL iom_set_rstw_var_active('emp_b')368 CALL iom_set_rstw_var_active('sfx_b')369 ENDIF370 371 361 END SUBROUTINE sbc_init 372 362 … … 510 500 & iom_varid( numror, 'utau_b', ldstop = .FALSE. ) > 0 ) THEN 511 501 IF(lwp) WRITE(numout,*) ' nit000-1 surface forcing fields red in the restart file' 512 CALL iom_get( numror, jpdom_auto, 'utau_b', utau_b , ldxios = lrxios, cd_type = 'U', psgn = -1._wp) ! before i-stress (U-point)513 CALL iom_get( numror, jpdom_auto, 'vtau_b', vtau_b , ldxios = lrxios, cd_type = 'V', psgn = -1._wp) ! before j-stress (V-point)514 CALL iom_get( numror, jpdom_auto, 'qns_b', qns_b , ldxios = lrxios) ! before non solar heat flux (T-point)502 CALL iom_get( numror, jpdom_auto, 'utau_b', utau_b ) ! before i-stress (U-point) 503 CALL iom_get( numror, jpdom_auto, 'vtau_b', vtau_b ) ! before j-stress (V-point) 504 CALL iom_get( numror, jpdom_auto, 'qns_b', qns_b ) ! before non solar heat flux (T-point) 515 505 ! The 3D heat content due to qsr forcing is treated in traqsr 516 ! CALL iom_get( numror, jpdom_auto, 'qsr_b' , qsr_b , ldxios = lrxios) ! before solar heat flux (T-point)517 CALL iom_get( numror, jpdom_auto, 'emp_b', emp_b , ldxios = lrxios) ! before freshwater flux (T-point)506 ! CALL iom_get( numror, jpdom_auto, 'qsr_b' , qsr_b ) ! before solar heat flux (T-point) 507 CALL iom_get( numror, jpdom_auto, 'emp_b', emp_b ) ! before freshwater flux (T-point) 518 508 ! To ensure restart capability with 3.3x/3.4 restart files !! to be removed in v3.6 519 509 IF( iom_varid( numror, 'sfx_b', ldstop = .FALSE. ) > 0 ) THEN 520 CALL iom_get( numror, jpdom_auto, 'sfx_b', sfx_b , ldxios = lrxios) ! before salt flux (T-point)510 CALL iom_get( numror, jpdom_auto, 'sfx_b', sfx_b ) ! before salt flux (T-point) 521 511 ELSE 522 512 sfx_b (:,:) = sfx(:,:) … … 538 528 & 'at it= ', kt,' date= ', ndastp 539 529 IF(lwp) WRITE(numout,*) '~~~~' 540 IF( lwxios ) CALL iom_swap( cwxios_context ) 541 CALL iom_rstput( kt, nitrst, numrow, 'utau_b' , utau, ldxios = lwxios ) 542 CALL iom_rstput( kt, nitrst, numrow, 'vtau_b' , vtau, ldxios = lwxios ) 543 CALL iom_rstput( kt, nitrst, numrow, 'qns_b' , qns, ldxios = lwxios ) 530 CALL iom_rstput( kt, nitrst, numrow, 'utau_b' , utau ) 531 CALL iom_rstput( kt, nitrst, numrow, 'vtau_b' , vtau ) 532 CALL iom_rstput( kt, nitrst, numrow, 'qns_b' , qns ) 544 533 ! The 3D heat content due to qsr forcing is treated in traqsr 545 534 ! CALL iom_rstput( kt, nitrst, numrow, 'qsr_b' , qsr ) 546 CALL iom_rstput( kt, nitrst, numrow, 'emp_b' , emp, ldxios = lwxios ) 547 CALL iom_rstput( kt, nitrst, numrow, 'sfx_b' , sfx, ldxios = lwxios ) 548 IF( lwxios ) CALL iom_swap( cxios_context ) 535 CALL iom_rstput( kt, nitrst, numrow, 'emp_b' , emp ) 536 CALL iom_rstput( kt, nitrst, numrow, 'sfx_b' , sfx ) 549 537 ENDIF 550 538 ! ! ---------------------------------------- ! -
NEMO/trunk/src/OCE/SBC/sbcrnf.F90
r13497 r13970 160 160 & iom_varid( numror, 'rnf_b', ldstop = .FALSE. ) > 0 ) THEN 161 161 IF(lwp) WRITE(numout,*) ' nit000-1 runoff forcing fields red in the restart file', lrxios 162 CALL iom_get( numror, jpdom_auto, 'rnf_b', rnf_b , ldxios = lrxios) ! before runoff163 CALL iom_get( numror, jpdom_auto, 'rnf_hc_b', rnf_tsc_b(:,:,jp_tem) , ldxios = lrxios) ! before heat content of runoff164 CALL iom_get( numror, jpdom_auto, 'rnf_sc_b', rnf_tsc_b(:,:,jp_sal) , ldxios = lrxios) ! before salinity content of runoff162 CALL iom_get( numror, jpdom_auto, 'rnf_b', rnf_b ) ! before runoff 163 CALL iom_get( numror, jpdom_auto, 'rnf_hc_b', rnf_tsc_b(:,:,jp_tem) ) ! before heat content of runoff 164 CALL iom_get( numror, jpdom_auto, 'rnf_sc_b', rnf_tsc_b(:,:,jp_sal) ) ! before salinity content of runoff 165 165 ELSE !* no restart: set from nit000 values 166 166 IF(lwp) WRITE(numout,*) ' nit000-1 runoff forcing fields set to nit000' … … 176 176 & 'at it= ', kt,' date= ', ndastp 177 177 IF(lwp) WRITE(numout,*) '~~~~' 178 IF( lwxios ) CALL iom_swap( cwxios_context ) 179 CALL iom_rstput( kt, nitrst, numrow, 'rnf_b' , rnf, ldxios = lwxios ) 180 CALL iom_rstput( kt, nitrst, numrow, 'rnf_hc_b', rnf_tsc(:,:,jp_tem), ldxios = lwxios ) 181 CALL iom_rstput( kt, nitrst, numrow, 'rnf_sc_b', rnf_tsc(:,:,jp_sal), ldxios = lwxios ) 182 IF( lwxios ) CALL iom_swap( cxios_context ) 178 CALL iom_rstput( kt, nitrst, numrow, 'rnf_b' , rnf ) 179 CALL iom_rstput( kt, nitrst, numrow, 'rnf_hc_b', rnf_tsc(:,:,jp_tem) ) 180 CALL iom_rstput( kt, nitrst, numrow, 'rnf_sc_b', rnf_tsc(:,:,jp_sal) ) 183 181 ENDIF 184 182 ! … … 480 478 ENDIF 481 479 ! 482 IF( lwxios ) THEN483 CALL iom_set_rstw_var_active('rnf_b')484 CALL iom_set_rstw_var_active('rnf_hc_b')485 CALL iom_set_rstw_var_active('rnf_sc_b')486 ENDIF487 488 480 END SUBROUTINE sbc_rnf_init 489 481 -
NEMO/trunk/src/OCE/SBC/sbcssm.F90
r13286 r13970 154 154 IF(lwp) WRITE(numout,*) '~~~~~~~' 155 155 zf_sbc = REAL( nn_fsbc, wp ) 156 IF( lwxios ) CALL iom_swap( cwxios_context ) 157 CALL iom_rstput( kt, nitrst, numrow, 'nn_fsbc', zf_sbc, ldxios = lwxios ) ! sbc frequency 158 CALL iom_rstput( kt, nitrst, numrow, 'ssu_m' , ssu_m, ldxios = lwxios ) ! sea surface mean fields 159 CALL iom_rstput( kt, nitrst, numrow, 'ssv_m' , ssv_m, ldxios = lwxios ) 160 CALL iom_rstput( kt, nitrst, numrow, 'sst_m' , sst_m, ldxios = lwxios ) 161 CALL iom_rstput( kt, nitrst, numrow, 'sss_m' , sss_m, ldxios = lwxios ) 162 CALL iom_rstput( kt, nitrst, numrow, 'ssh_m' , ssh_m, ldxios = lwxios ) 163 CALL iom_rstput( kt, nitrst, numrow, 'e3t_m' , e3t_m, ldxios = lwxios ) 164 CALL iom_rstput( kt, nitrst, numrow, 'frq_m' , frq_m, ldxios = lwxios ) 165 ! 166 IF( lwxios ) CALL iom_swap( cxios_context ) 156 CALL iom_rstput( kt, nitrst, numrow, 'nn_fsbc', zf_sbc ) ! sbc frequency 157 CALL iom_rstput( kt, nitrst, numrow, 'ssu_m' , ssu_m ) ! sea surface mean fields 158 CALL iom_rstput( kt, nitrst, numrow, 'ssv_m' , ssv_m ) 159 CALL iom_rstput( kt, nitrst, numrow, 'sst_m' , sst_m ) 160 CALL iom_rstput( kt, nitrst, numrow, 'sss_m' , sss_m ) 161 CALL iom_rstput( kt, nitrst, numrow, 'ssh_m' , ssh_m ) 162 CALL iom_rstput( kt, nitrst, numrow, 'e3t_m' , e3t_m ) 163 CALL iom_rstput( kt, nitrst, numrow, 'frq_m' , frq_m ) 164 ! 167 165 ENDIF 168 166 ! … … 208 206 IF( ln_rstart .AND. iom_varid( numror, 'nn_fsbc', ldstop = .FALSE. ) > 0 ) THEN 209 207 l_ssm_mean = .TRUE. 210 CALL iom_get( numror , 'nn_fsbc', zf_sbc ,ldxios = lrxios) ! sbc frequency of previous run211 CALL iom_get( numror, jpdom_auto, 'ssu_m' , ssu_m, ldxios = lrxios,cd_type = 'U', psgn = -1._wp ) ! sea surface mean velocity (U-point)212 CALL iom_get( numror, jpdom_auto, 'ssv_m' , ssv_m, ldxios = lrxios,cd_type = 'V', psgn = -1._wp ) ! " " velocity (V-point)213 CALL iom_get( numror, jpdom_auto, 'sst_m' , sst_m , ldxios = lrxios) ! " " temperature (T-point)214 CALL iom_get( numror, jpdom_auto, 'sss_m' , sss_m , ldxios = lrxios) ! " " salinity (T-point)215 CALL iom_get( numror, jpdom_auto, 'ssh_m' , ssh_m , ldxios = lrxios) ! " " height (T-point)216 CALL iom_get( numror, jpdom_auto, 'e3t_m' , e3t_m , ldxios = lrxios) ! 1st level thickness (T-point)208 CALL iom_get( numror , 'nn_fsbc', zf_sbc ) ! sbc frequency of previous run 209 CALL iom_get( numror, jpdom_auto, 'ssu_m' , ssu_m, cd_type = 'U', psgn = -1._wp ) ! sea surface mean velocity (U-point) 210 CALL iom_get( numror, jpdom_auto, 'ssv_m' , ssv_m, cd_type = 'V', psgn = -1._wp ) ! " " velocity (V-point) 211 CALL iom_get( numror, jpdom_auto, 'sst_m' , sst_m ) ! " " temperature (T-point) 212 CALL iom_get( numror, jpdom_auto, 'sss_m' , sss_m ) ! " " salinity (T-point) 213 CALL iom_get( numror, jpdom_auto, 'ssh_m' , ssh_m ) ! " " height (T-point) 214 CALL iom_get( numror, jpdom_auto, 'e3t_m' , e3t_m ) ! 1st level thickness (T-point) 217 215 ! fraction of solar net radiation absorbed in 1st T level 218 216 IF( iom_varid( numror, 'frq_m', ldstop = .FALSE. ) > 0 ) THEN 219 CALL iom_get( numror, jpdom_auto, 'frq_m' , frq_m , ldxios = lrxios)217 CALL iom_get( numror, jpdom_auto, 'frq_m' , frq_m ) 220 218 ELSE 221 219 frq_m(:,:) = 1._wp ! default definition … … 255 253 IF( .NOT. ln_traqsr ) fraqsr_1lev(:,:) = 1._wp ! default definition: qsr 100% in the fisrt level 256 254 ! 257 IF( lwxios.AND.nn_fsbc > 1 ) THEN258 CALL iom_set_rstw_var_active('nn_fsbc')259 CALL iom_set_rstw_var_active('ssu_m')260 CALL iom_set_rstw_var_active('ssv_m')261 CALL iom_set_rstw_var_active('sst_m')262 CALL iom_set_rstw_var_active('sss_m')263 CALL iom_set_rstw_var_active('ssh_m')264 CALL iom_set_rstw_var_active('e3t_m')265 CALL iom_set_rstw_var_active('frq_m')266 ENDIF267 268 255 END SUBROUTINE sbc_ssm_init 269 256
Note: See TracChangeset
for help on using the changeset viewer.