- Timestamp:
- 2016-08-09T17:55:10+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/SAS_SRC/sbcssm.F90
r5407 r6861 39 39 LOGICAL :: ln_3d_uve !: specify whether input velocity data is 3D 40 40 LOGICAL :: ln_read_frq !: specify whether we must read frq or not 41 LOGICAL :: l_sasread !: Ice intilisation: read a file (.TRUE.) or anaytical initilaistion in namelist &namsbc_sas 41 42 LOGICAL :: l_initdone = .false. 42 43 INTEGER :: nfld_3d … … 82 83 IF( nn_timing == 1 ) CALL timing_start( 'sbc_ssm') 83 84 85 IF ( l_sasread ) THEN 84 86 IF( nfld_3d > 0 ) CALL fld_read( kt, 1, sf_ssm_3d ) !== read data at kt time step ==! 85 87 IF( nfld_2d > 0 ) CALL fld_read( kt, 1, sf_ssm_2d ) !== read data at kt time step ==! … … 99 101 ssh_m(:,:) = sf_ssm_2d(jf_ssh)%fnow(:,:,1) * tmask(:,:,1) ! sea surface height 100 102 IF( ln_read_frq ) frq_m(:,:) = sf_ssm_2d(jf_frq)%fnow(:,:,1) * tmask(:,:,1) ! sea surface height 103 104 ELSE 105 sst_m(:,:) = 0. 106 sss_m(:,:) = 0. 107 ssu_m(:,:) = 0. 108 ssv_m(:,:) = 0. 109 ssh_m(:,:) = 0. 110 ENDIF 101 111 ! 102 112 IF ( nn_ice == 1 ) THEN … … 155 165 TYPE(FLD_N) :: sn_ssh, sn_e3t, sn_frq 156 166 ! 157 NAMELIST/namsbc_sas/ cn_dir, ln_3d_uve, ln_read_frq, sn_tem, sn_sal, sn_usp, sn_vsp, sn_ssh, sn_e3t, sn_frq158 !!---------------------------------------------------------------------- 159 167 NAMELIST/namsbc_sas/l_sasread, cn_dir, ln_3d_uve, ln_read_frq, sn_tem, sn_sal, sn_usp, sn_vsp, sn_ssh, sn_e3t, sn_frq 168 !!---------------------------------------------------------------------- 169 160 170 IF( ln_rstart .AND. nn_components == jp_iam_sas ) RETURN 161 171 … … 176 186 WRITE(numout,*) '~~~~~~~~~~~ ' 177 187 WRITE(numout,*) ' Namelist namsbc_sas' 188 WRITE(numout,*) ' Initialisation using an input file = ',l_sasread 178 189 WRITE(numout,*) ' Are we supplying a 3D u,v and e3 field ln_3d_uve = ', ln_3d_uve 179 190 WRITE(numout,*) ' Are we reading frq (fraction of qsr absorbed in the 1st T level) ln_read_frq = ', ln_read_frq … … 204 215 nn_closea = 0 205 216 ENDIF 217 IF (l_sasread) THEN 206 218 ! 207 219 !! following code is a bit messy, but distinguishes between when u,v are 3d arrays and … … 285 297 IF( nfld_2d > 0 ) DEALLOCATE( slf_2d, STAT=ierr ) 286 298 299 ENDIF 300 287 301 CALL sbc_ssm( nit000 ) ! need to define ss?_m arrays used in limistate 288 302 IF( .NOT. ln_read_frq ) frq_m(:,:) = 1. 289 l_initdone = .TRUE. 303 l_initdone = .TRUE. 290 304 ! 291 305 END SUBROUTINE sbc_ssm_init
Note: See TracChangeset
for help on using the changeset viewer.