- Timestamp:
- 2013-11-04T12:51:55+01:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/SAS_SRC/sbcssm.F90
r3364 r4147 81 81 82 82 ! 83 IF (kt == nn_it000 ) CALL sbc_ssm_init() 84 83 85 IF( nn_timing == 1 ) CALL timing_start( 'sbc_ssm') 84 86 … … 100 102 tsn(:,:,1,jp_tem) = sst_m(:,:) 101 103 tsn(:,:,1,jp_sal) = sss_m(:,:) 104 IF ( nn_ice == 1 ) THEN 105 tsb(:,:,1,jp_tem) = sst_m(:,:) 106 tsb(:,:,1,jp_sal) = sss_m(:,:) 107 ENDIF 102 108 ub (:,:,1 ) = ssu_m(:,:) 103 109 vb (:,:,1 ) = ssv_m(:,:) … … 128 134 INTEGER :: ifpr ! dummy loop indice 129 135 INTEGER :: inum, idv, idimv, jpm ! local integer 136 INTEGER :: ios ! Local integer output status for namelist read 130 137 !! 131 138 CHARACTER(len=100) :: cn_dir ! Root directory for location of core files … … 135 142 TYPE(FLD_N) :: sn_usp, sn_vsp, sn_ssh 136 143 ! 137 NAMELIST/namsbc_ssm/cn_dir, ln_3d_uv, sn_tem, sn_sal, sn_usp, sn_vsp, sn_ssh 138 139 !!---------------------------------------------------------------------- 140 ! ! ============ 141 ! ! Namelist 142 ! ! ============ 143 ! (NB: frequency positive => hours, negative => months) 144 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! 145 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! 146 sn_usp = FLD_N( 'ssm_grid_U' , 120 , 'vozocrtx' , .true. , .true. , 'yearly' , '' , '' ) 147 sn_vsp = FLD_N( 'ssm_grid_V' , 120 , 'vomecrty' , .true. , .true. , 'yearly' , '' , '' ) 148 sn_tem = FLD_N( 'ssm_grid_T' , 120 , 'sosstsst' , .true. , .true. , 'yearly' , '' , '' ) 149 sn_sal = FLD_N( 'ssm_grid_T' , 120 , 'sosaline' , .true. , .true. , 'yearly' , '' , '' ) 150 sn_ssh = FLD_N( 'ssm_grid_T' , 120 , 'sossheig' , .true. , .true. , 'yearly' , '' , '' ) 151 ! 152 REWIND( numnam ) ! read in namlist namsbc_ssm 153 READ ( numnam, namsbc_ssm ) 144 NAMELIST/namsbc_sas/cn_dir, ln_3d_uv, sn_tem, sn_sal, sn_usp, sn_vsp, sn_ssh 145 146 REWIND( numnam_ref ) ! Namelist namsbc_sas in reference namelist : Input fields 147 READ ( numnam_ref, namsbc_sas, IOSTAT = ios, ERR = 901) 148 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_sas in reference namelist', lwp ) 149 150 REWIND( numnam_cfg ) ! Namelist namsbc_sas in configuration namelist : Input fields 151 READ ( numnam_cfg, namsbc_sas, IOSTAT = ios, ERR = 902 ) 152 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_sas in configuration namelist', lwp ) 153 WRITE ( numond, namsbc_sas ) 154 154 155 ! ! store namelist information in an array 155 156 ! ! Control print 156 157 IF(lwp) THEN 157 158 WRITE(numout,*) 158 WRITE(numout,*) 'sbc_s sm: standalone surface scheme '159 WRITE(numout,*) 'sbc_sas : standalone surface scheme ' 159 160 WRITE(numout,*) '~~~~~~~~~~~ ' 160 WRITE(numout,*) ' Namelist namsbc_s sm'161 WRITE(numout,*) ' Namelist namsbc_sas' 161 162 WRITE(numout,*) 162 163 ENDIF … … 273 274 ! so allocate enough of arrays to use 274 275 ! 276 ierr3 = 0 275 277 jpm = MAX(jp_tem, jp_sal) 276 278 ALLOCATE( tsn(jpi,jpj,1,jpm), STAT=ierr0 ) 277 279 ALLOCATE( ub(jpi,jpj,1) , STAT=ierr1 ) 278 280 ALLOCATE( vb(jpi,jpj,1) , STAT=ierr2 ) 279 ierr = ierr0 + ierr1 + ierr2 281 IF ( nn_ice == 1 ) ALLOCATE( tsb(jpi,jpj,1,jpm), STAT=ierr3 ) 282 ierr = ierr0 + ierr1 + ierr2 + ierr3 280 283 IF( ierr > 0 ) THEN 281 284 CALL ctl_stop('sbc_ssm_init: unable to allocate surface arrays')
Note: See TracChangeset
for help on using the changeset viewer.