- Timestamp:
- 2020-09-14T17:40:34+02:00 (4 years ago)
- Location:
- NEMO/branches/2019/dev_r11351_fldread_with_XIOS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11351_fldread_with_XIOS
- Property svn:externals
-
old new 3 3 ^/utils/build/mk@HEAD mk 4 4 ^/utils/tools@HEAD tools 5 ^/vendors/AGRIF/dev @HEADext/AGRIF5 ^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS ext/AGRIF 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL 8 9 # SETTE 10 ^/utils/CI/sette@13382 sette
-
- Property svn:externals
-
NEMO/branches/2019/dev_r11351_fldread_with_XIOS/src/OCE/SBC/sbcflx.F90
r10425 r13463 38 38 39 39 !! * Substitutions 40 # include " vectopt_loop_substitute.h90"40 # include "do_loop_substitute.h90" 41 41 !!---------------------------------------------------------------------- 42 42 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 91 91 IF( kt == nit000 ) THEN ! First call kt=nit000 92 92 ! set file information 93 REWIND( numnam_ref ) ! Namelist namsbc_flx in reference namelist : Files for fluxes94 93 READ ( numnam_ref, namsbc_flx, IOSTAT = ios, ERR = 901) 95 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_flx in reference namelist' , lwp)94 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_flx in reference namelist' ) 96 95 97 REWIND( numnam_cfg ) ! Namelist namsbc_flx in configuration namelist : Files for fluxes98 96 READ ( numnam_cfg, namsbc_flx, IOSTAT = ios, ERR = 902 ) 99 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_flx in configuration namelist' , lwp)97 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_flx in configuration namelist' ) 100 98 IF(lwm) WRITE ( numond, namsbc_flx ) 101 99 ! 102 100 ! ! check: do we plan to use ln_dm2dc with non-daily forcing? 103 IF( ln_dm2dc .AND. sn_qsr% nfreqh /= 24) &101 IF( ln_dm2dc .AND. sn_qsr%freqh /= 24. ) & 104 102 & CALL ctl_stop( 'sbc_blk_core: ln_dm2dc can be activated only with daily short-wave forcing' ) 105 103 ! … … 131 129 ELSE ; qsr(:,:) = sf(jp_qsr)%fnow(:,:,1) 132 130 ENDIF 133 DO jj = 1, jpj ! set the ocean fluxes from read fields 134 DO ji = 1, jpi 135 utau(ji,jj) = sf(jp_utau)%fnow(ji,jj,1) 136 vtau(ji,jj) = sf(jp_vtau)%fnow(ji,jj,1) 137 qns (ji,jj) = sf(jp_qtot)%fnow(ji,jj,1) - sf(jp_qsr)%fnow(ji,jj,1) 138 emp (ji,jj) = sf(jp_emp )%fnow(ji,jj,1) 139 END DO 140 END DO 131 DO_2D( 1, 1, 1, 1 ) 132 utau(ji,jj) = sf(jp_utau)%fnow(ji,jj,1) 133 vtau(ji,jj) = sf(jp_vtau)%fnow(ji,jj,1) 134 qns (ji,jj) = sf(jp_qtot)%fnow(ji,jj,1) - sf(jp_qsr)%fnow(ji,jj,1) 135 emp (ji,jj) = sf(jp_emp )%fnow(ji,jj,1) 136 END_2D 141 137 ! ! add to qns the heat due to e-p 142 138 qns(:,:) = qns(:,:) - emp(:,:) * sst_m(:,:) * rcp ! mass flux is at SST … … 147 143 ! ! module of wind stress and wind speed at T-point 148 144 zcoef = 1. / ( zrhoa * zcdrag ) 149 DO jj = 2, jpjm1 150 DO ji = fs_2, fs_jpim1 ! vect. opt. 151 ztx = utau(ji-1,jj ) + utau(ji,jj) 152 zty = vtau(ji ,jj-1) + vtau(ji,jj) 153 zmod = 0.5 * SQRT( ztx * ztx + zty * zty ) 154 taum(ji,jj) = zmod 155 wndm(ji,jj) = SQRT( zmod * zcoef ) 156 END DO 157 END DO 145 DO_2D( 0, 0, 0, 0 ) 146 ztx = utau(ji-1,jj ) + utau(ji,jj) 147 zty = vtau(ji ,jj-1) + vtau(ji,jj) 148 zmod = 0.5 * SQRT( ztx * ztx + zty * zty ) 149 taum(ji,jj) = zmod 150 wndm(ji,jj) = SQRT( zmod * zcoef ) 151 END_2D 158 152 taum(:,:) = taum(:,:) * tmask(:,:,1) ; wndm(:,:) = wndm(:,:) * tmask(:,:,1) 159 CALL lbc_lnk( 'sbcflx', taum(:,:), 'T', 1. ) ; CALL lbc_lnk( 'sbcflx', wndm(:,:), 'T', 1.)153 CALL lbc_lnk( 'sbcflx', taum(:,:), 'T', 1.0_wp ) ; CALL lbc_lnk( 'sbcflx', wndm(:,:), 'T', 1.0_wp ) 160 154 161 155 IF( nitend-nit000 <= 100 .AND. lwp ) THEN ! control print (if less than 100 time-step asked)
Note: See TracChangeset
for help on using the changeset viewer.