Changeset 5837 for branches/2014/dev_r4650_UKMO14.4_OBS_GENERAL_VINTERP/NEMOGCM/NEMO/OPA_SRC/LBC/mppini_2.h90
- Timestamp:
- 2015-10-26T15:59:39+01:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO14.4_OBS_GENERAL_VINTERP/NEMOGCM/NEMO/OPA_SRC/LBC/mppini_2.h90
r4647 r5837 45 45 INTEGER :: inum ! temporary logical unit 46 46 INTEGER :: idir ! temporary integers 47 INTEGER :: jstartrow ! temporary integers 47 48 INTEGER :: ios ! Local integer output status for namelist read 48 49 INTEGER :: & … … 67 68 imask ! temporary global workspace 68 69 REAL(wp), DIMENSION(jpiglo,jpjglo) :: & 69 zdta ! temporary data workspace70 zdta, zdtaisf ! temporary data workspace 70 71 REAL(wp) :: zidom , zjdom ! temporary scalars 71 72 72 73 ! read namelist for ln_zco 73 NAMELIST/namzgr/ ln_zco, ln_zps, ln_sco 74 NAMELIST/namzgr/ ln_zco, ln_zps, ln_sco, ln_isfcav 74 75 75 76 !!---------------------------------------------------------------------- … … 100 101 ! open the file 101 102 ! Remember that at this level in the code, mpp is not yet initialized, so 102 ! the file must be open with jpdom_unknown, and kstart amd kcount forced 103 ! the file must be open with jpdom_unknown, and kstart and kcount forced 104 jstartrow = 1 103 105 IF ( ln_zco ) THEN 104 106 CALL iom_open ( 'bathy_level.nc', inum ) ! Level bathymetry 105 CALL iom_get ( inum, jpdom_unknown, 'Bathy_level', zdta, kstart=(/jpizoom,jpjzoom/), kcount=(/jpiglo,jpjglo/) ) 107 ! Optionally use a file attribute (open_ocean_jstart) to set a start row for reading from the global file 108 ! This allows the unextended grid bathymetry to be stored in the same file as the under ice-shelf extended bathymetry 109 CALL iom_getatt(inum, 'open_ocean_jstart', jstartrow ) ! -999 is returned if the attribute is not found 110 jstartrow = MAX(1,jstartrow) 111 CALL iom_get ( inum, jpdom_unknown, 'Bathy_level', zdta, kstart=(/jpizoom,jpjzoom+jstartrow-1/), kcount=(/jpiglo,jpjglo/) ) 106 112 ELSE 107 113 CALL iom_open ( 'bathy_meter.nc', inum ) ! Meter bathy in case of partial steps 108 CALL iom_get ( inum, jpdom_unknown, 'Bathymetry' , zdta, kstart=(/jpizoom,jpjzoom/), kcount=(/jpiglo,jpjglo/) ) 114 IF ( ln_isfcav ) THEN 115 CALL iom_get ( inum, jpdom_unknown, 'Bathymetry_isf' , zdta, kstart=(/jpizoom,jpjzoom/), kcount=(/jpiglo,jpjglo/) ) 116 ELSE 117 ! Optionally use a file attribute (open_ocean_jstart) to set a start row for reading from the global file 118 ! This allows the unextended grid bathymetry to be stored in the same file as the under ice-shelf extended bathymetry 119 CALL iom_getatt(inum, 'open_ocean_jstart', jstartrow ) ! -999 is returned if the attribute is not found 120 jstartrow = MAX(1,jstartrow) 121 CALL iom_get ( inum, jpdom_unknown, 'Bathymetry' , zdta, kstart=(/jpizoom,jpjzoom+jstartrow-1/) & 122 & , kcount=(/jpiglo,jpjglo/) ) 123 ENDIF 109 124 ENDIF 110 125 CALL iom_close (inum) 126 127 ! used to compute the land processor in case of not masked bathy file. 128 zdtaisf(:,:) = 0.0_wp 129 IF ( ln_isfcav ) THEN 130 CALL iom_open ( 'bathy_meter.nc', inum ) ! Meter bathy in case of partial steps 131 CALL iom_get ( inum, jpdom_unknown, 'isf_draft' , zdtaisf, kstart=(/jpizoom,jpjzoom/), kcount=(/jpiglo,jpjglo/) ) 132 END IF 133 CALL iom_close (inum) 111 134 112 135 ! land/sea mask over the global/zoom domain 113 136 114 137 imask(:,:)=1 115 WHERE ( zdta(:,:) <= 0. ) imask = 0138 WHERE ( zdta(:,:) - zdtaisf(:,:) <= 0. ) imask = 0 116 139 117 140 ! 1. Dimension arrays for subdomains … … 143 166 ilcj(:, irestj+1:jpnj) = jpj-1 144 167 #endif 168 169 nfilcit(:,:) = ilci(:,:) 145 170 146 171 IF(lwp) WRITE(numout,*) … … 175 200 END DO 176 201 ENDIF 202 nfiimpp(:,:) = iimppt(:,:) 177 203 178 204 IF( jpnj > 1 )THEN … … 195 221 ili = ilci(ii,ij) 196 222 ilj = ilcj(ii,ij) 197 198 223 ibondj(ii,ij) = -1 199 224 IF( jarea > jpni ) ibondj(ii,ij) = 0 200 225 IF( jarea > (jpnj-1)*jpni ) ibondj(ii,ij) = 1 201 226 IF( jpnj == 1 ) ibondj(ii,ij) = 2 202 203 227 ibondi(ii,ij) = 0 204 228 IF( MOD(jarea,jpni) == 1 ) ibondi(ii,ij) = -1 … … 308 332 END DO 309 333 334 nfipproc(:,:) = ipproc(:,:) 335 336 310 337 ! Control 311 338 IF(icont+1 /= jpnij) THEN
Note: See TracChangeset
for help on using the changeset viewer.