New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 4189 for branches/2013/dev_r4119_INGV6_sol/NEMOGCM/NEMO/OPA_SRC/SBC – NEMO

Ignore:
Timestamp:
2013-11-14T11:01:51+01:00 (11 years ago)
Author:
poddo
Message:

Commit changes for INGV6 seaoverland

Location:
branches/2013/dev_r4119_INGV6_sol/NEMOGCM/NEMO/OPA_SRC/SBC
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_r4119_INGV6_sol/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90

    r3851 r4189  
    77   !!                 !  05-2008  (S. Alderson) Modified for Interpolation in memory 
    88   !!                 !                         from input grid to model grid 
     9   !!                 !  10-2013  (D. Delrosso, P. Oddo) implement suppression of  
     10   !!                 !                         land point prior to interpolation 
    911   !!---------------------------------------------------------------------- 
    1012 
     
    2224   USE wrk_nemo        ! work arrays 
    2325   USE ioipsl, ONLY :   ymds2ju, ju2ymds   ! for calendar 
    24  
     26   USE sbc_oce 
     27    
    2528   IMPLICIT NONE 
    2629   PRIVATE    
     
    4043      !                                     ! a string starting with "U" or "V" for each component    
    4144      !                                     ! chars 2 onwards identify which components go together   
     45      CHARACTER(len = 34)  ::   lname       ! generic name of a NetCDF land/sea mask file to be used, blank if not  
     46      !                                     ! 0=sea 1=land 
    4247   END TYPE FLD_N 
    4348 
     
    6065      LOGICAL, DIMENSION(2)           ::   rotn         ! flag to indicate whether before/after field has been rotated 
    6166      INTEGER                         ::   nreclast     ! last record to be read in the current file 
     67      CHARACTER(len = 256)            ::   lsmname      ! current name of the NetCDF mask file acting as a key 
    6268   END TYPE FLD 
    6369 
     
    95101   TYPE( WGT ), DIMENSION(tot_wgts)   ::   ref_wgts     ! array of wgts 
    96102   INTEGER                            ::   nxt_wgt = 1  ! point to next available space in ref_wgts array 
     103   REAL(wp), PARAMETER                ::   undeff_lsm = -999.00_wp 
    97104 
    98105!$AGRIF_END_DO_NOT_TREAT 
     
    591598      ELSE IF( LEN(TRIM(sdjf%wgtname)) > 0 ) THEN 
    592599         CALL wgt_list( sdjf, iw ) 
    593          IF( sdjf%ln_tint ) THEN   ;   CALL fld_interp( sdjf%num, sdjf%clvar, iw , ipk  , sdjf%fdta(:,:,:,2), sdjf%nrec_a(1) ) 
    594          ELSE                      ;   CALL fld_interp( sdjf%num, sdjf%clvar, iw , ipk  , sdjf%fnow(:,:,:  ), sdjf%nrec_a(1) ) 
     600         IF( sdjf%ln_tint ) THEN   ;   CALL fld_interp( sdjf%num, sdjf%clvar, iw , ipk  , sdjf%fdta(:,:,:,2), sdjf%nrec_a(1), sdjf%lsmname ) 
     601         ELSE                      ;   CALL fld_interp( sdjf%num, sdjf%clvar, iw , ipk  , sdjf%fnow(:,:,:  ), sdjf%nrec_a(1), sdjf%lsmname ) 
    595602         ENDIF 
    596603      ELSE 
     
    856863         sdf(jf)%wgtname    = " " 
    857864         IF( LEN( TRIM(sdf_n(jf)%wname) ) > 0 )   sdf(jf)%wgtname = TRIM( cdir )//TRIM( sdf_n(jf)%wname ) 
     865         sdf(jf)%lsmname = " " 
     866         IF( LEN( TRIM(sdf_n(jf)%lname) ) > 0 )   sdf(jf)%lsmname = TRIM( cdir )//TRIM( sdf_n(jf)%lname ) 
    858867         sdf(jf)%vcomp      = sdf_n(jf)%vcomp 
    859868         sdf(jf)%rotn(:)    = .TRUE.   ! pretend to be rotated -> won't try to rotate data before the first call to fld_get 
     
    878887               &                          ' weights    : '    , TRIM( sdf(jf)%wgtname    ),   & 
    879888               &                          ' pairing    : '    , TRIM( sdf(jf)%vcomp      ),   & 
    880                &                          ' data type: '      ,       sdf(jf)%cltype 
     889               &                          ' data type: '      ,       sdf(jf)%cltype      ,   & 
     890               &                          ' land/sea mask:'   , TRIM( sdf(jf)%lsmname    ) 
    881891            call flush(numout) 
    882892         END DO 
     
    10981108 
    10991109 
    1100    SUBROUTINE fld_interp( num, clvar, kw, kk, dta, nrec ) 
     1110   SUBROUTINE apply_seaoverland(clmaskfile,zfieldo,jpi1_lsm,jpi2_lsm,jpj1_lsm, & 
     1111                          &      jpj2_lsm,itmpi,itmpj,itmpz,rec1_lsm,recn_lsm) 
     1112      !!--------------------------------------------------------------------- 
     1113      !!                    ***  ROUTINE apply_seaoverland  *** 
     1114      !! 
     1115      !! ** Purpose :   avoid spurious fluxes in coastal or near-coastal areas 
     1116      !!                due to the wrong usage of "land" values from the coarse 
     1117      !!                atmospheric model when spatial interpolation is required 
     1118      !!      D. Delrosso INGV           
     1119      !!----------------------------------------------------------------------  
     1120      INTEGER                                   :: inum,jni,jnj,jnz,jc                  ! temporary indices 
     1121      INTEGER,                   INTENT(in)     :: itmpi,itmpj,itmpz                    ! lengths 
     1122      INTEGER,                   INTENT(in)     :: jpi1_lsm,jpi2_lsm,jpj1_lsm,jpj2_lsm  ! temporary indices 
     1123      INTEGER, DIMENSION(3),     INTENT(in)     :: rec1_lsm,recn_lsm                    ! temporary arrays for start and length 
     1124      REAL(wp),DIMENSION (:,:,:),INTENT(inout)  :: zfieldo                              ! input/output array for seaoverland application 
     1125      REAL(wp),DIMENSION (:,:,:),ALLOCATABLE    :: zslmec1                              ! temporary array for land point detection 
     1126      REAL(wp),DIMENSION (:,:),  ALLOCATABLE    :: zfieldn                              ! array of forcing field with undeff for land points 
     1127      REAL(wp),DIMENSION (:,:),  ALLOCATABLE    :: zfield                               ! array of forcing field 
     1128      CHARACTER (len=100),       INTENT(in)     :: clmaskfile                           ! land/sea mask file name 
     1129      !!--------------------------------------------------------------------- 
     1130      ALLOCATE ( zslmec1(itmpi,itmpj,itmpz) ) 
     1131      ALLOCATE ( zfieldn(itmpi,itmpj) ) 
     1132      ALLOCATE ( zfield(itmpi,itmpj) ) 
     1133 
     1134      ! Retrieve the land sea mask data 
     1135      CALL iom_open( clmaskfile, inum ) 
     1136      SELECT CASE( SIZE(zfieldo(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:),3) ) 
     1137      CASE(1) 
     1138           CALL iom_get( inum, jpdom_unknown, 'LSM', zslmec1(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,1), 1, rec1_lsm, recn_lsm) 
     1139      CASE DEFAULT 
     1140           CALL iom_get( inum, jpdom_unknown, 'LSM', zslmec1(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:), 1, rec1_lsm, recn_lsm) 
     1141      END SELECT 
     1142      CALL iom_close( inum ) 
     1143 
     1144      DO jnz=1,rec1_lsm(3)                            !! Loop over k dimension 
     1145 
     1146         DO jni=1,itmpi                               !! copy the original field into a tmp array 
     1147            DO jnj=1,itmpj                            !! substituting undeff over land points 
     1148            zfieldn(jni,jnj) = zfieldo(jni,jnj,jnz) 
     1149               IF ( zslmec1(jni,jnj,jnz) == 1. ) THEN 
     1150                  zfieldn(jni,jnj) = undeff_lsm 
     1151               ENDIF 
     1152            END DO 
     1153         END DO 
     1154   
     1155      CALL seaoverland(zfieldn,itmpi,itmpj,zfield) 
     1156      DO jc=1,nn_lsm 
     1157         CALL seaoverland(zfield,itmpi,itmpj,zfield) 
     1158      END DO 
     1159 
     1160      !   Check for Undeff and substitute original values 
     1161      IF(ANY(zfield==undeff_lsm)) THEN 
     1162         DO jni=1,itmpi 
     1163            DO jnj=1,itmpj 
     1164               IF (zfield(jni,jnj)==undeff_lsm) THEN 
     1165                  zfield(jni,jnj) = zfieldo(jni,jnj,jnz) 
     1166               ENDIF 
     1167            ENDDO 
     1168         ENDDO 
     1169      ENDIF 
     1170 
     1171      zfieldo(:,:,jnz)=zfield(:,:) 
     1172 
     1173      END DO                          !! End Loop over k dimension 
     1174 
     1175      DEALLOCATE ( zslmec1 ) 
     1176      DEALLOCATE ( zfieldn ) 
     1177      DEALLOCATE ( zfield ) 
     1178 
     1179   END SUBROUTINE apply_seaoverland  
     1180 
     1181 
     1182   SUBROUTINE seaoverland(zfieldn,ileni,ilenj,zfield) 
     1183      !!--------------------------------------------------------------------- 
     1184      !!                    ***  ROUTINE seaoverland  *** 
     1185      !! 
     1186      !! ** Purpose :   create shifted matrices for seaoverland application   
     1187      !!      D. Delrosso INGV 
     1188      !!----------------------------------------------------------------------  
     1189      INTEGER,INTENT(in)                       :: ileni,ilenj              ! lengths  
     1190      REAL,DIMENSION (ileni,ilenj),INTENT(in)  :: zfieldn                  ! array of forcing field with undeff for land points 
     1191      REAL,DIMENSION (ileni,ilenj),INTENT(out) :: zfield                   ! array of forcing field 
     1192      REAL,DIMENSION (ileni,ilenj)             :: zmat1,zmat2,zmat3,zmat4  ! temporary arrays for seaoverland application 
     1193      REAL,DIMENSION (ileni,ilenj)             :: zmat5,zmat6,zmat7,zmat8  ! temporary arrays for seaoverland application 
     1194      REAL,DIMENSION (ileni,ilenj)             :: zlsm2d                   ! temporary arrays for seaoverland application 
     1195      REAL,DIMENSION (ileni,ilenj,8)           :: zlsm3d                   ! temporary arrays for seaoverland application 
     1196      LOGICAL,DIMENSION (ileni,ilenj,8)        :: ll_msknan3d              ! logical mask for undeff detection 
     1197      LOGICAL,DIMENSION (ileni,ilenj)          :: ll_msknan2d              ! logical mask for undeff detection 
     1198      !!----------------------------------------------------------------------  
     1199      zmat8 = eoshift(zfieldn   ,  SHIFT=-1, BOUNDARY = (/zfieldn(:,1)/)    ,DIM=2) 
     1200      zmat1 = eoshift(zmat8     ,  SHIFT=-1, BOUNDARY = (/zmat8(1,:)/)      ,DIM=1) 
     1201      zmat2 = eoshift(zfieldn   ,  SHIFT=-1, BOUNDARY = (/zfieldn(1,:)/)    ,DIM=1) 
     1202      zmat4 = eoshift(zfieldn   ,  SHIFT= 1, BOUNDARY = (/zfieldn(:,ilenj)/),DIM=2) 
     1203      zmat3 = eoshift(zmat4     ,  SHIFT=-1, BOUNDARY = (/zmat4(1,:)/)      ,DIM=1) 
     1204      zmat5 = eoshift(zmat4     ,  SHIFT= 1, BOUNDARY = (/zmat4(ileni,:)/)  ,DIM=1) 
     1205      zmat6 = eoshift(zfieldn   ,  SHIFT= 1, BOUNDARY = (/zfieldn(ileni,:)/),DIM=1) 
     1206      zmat7 = eoshift(zmat8     ,  SHIFT= 1, BOUNDARY = (/zmat8(ileni,:)/)  ,DIM=1) 
     1207 
     1208      zlsm3d  = RESHAPE( (/ zmat1, zmat2, zmat3, zmat4, zmat5, zmat6, zmat7, zmat8 /), (/ ileni, ilenj, 8 /)) 
     1209      ll_msknan3d = .not.(zlsm3d==undeff_lsm) 
     1210      ll_msknan2d = .not.(zfieldn==undeff_lsm)  ! FALSE where is Undeff (land) 
     1211      zlsm2d = (SUM ( zlsm3d, 3 , ll_msknan3d ) )/(MAX(1,(COUNT( ll_msknan3d , 3 ))   )) 
     1212      WHERE ((COUNT( ll_msknan3d , 3 )) == 0.0_wp)  zlsm2d = undeff_lsm 
     1213      zfield = MERGE (zfieldn,zlsm2d,ll_msknan2d) 
     1214   END SUBROUTINE seaoverland 
     1215 
     1216 
     1217   SUBROUTINE fld_interp( num, clvar, kw, kk, dta,  & 
     1218                          &         nrec, lsmfile)       
    11011219      !!--------------------------------------------------------------------- 
    11021220      !!                    ***  ROUTINE fld_interp  *** 
     
    11111229      REAL(wp), DIMENSION(:,:,:), INTENT(inout) ::   dta     ! output field on model grid 
    11121230      INTEGER                   , INTENT(in   ) ::   nrec    ! record number to read (ie time slice) 
     1231      CHARACTER(LEN=*)          , INTENT(in   ) ::   lsmfile ! land sea mask file name 
    11131232      !!  
    1114       INTEGER, DIMENSION(3) ::   rec1,recn   ! temporary arrays for start and length 
    1115       INTEGER ::  jk, jn, jm           ! loop counters 
    1116       INTEGER ::  ni, nj               ! lengths 
    1117       INTEGER ::  jpimin,jpiwid        ! temporary indices 
    1118       INTEGER ::  jpjmin,jpjwid        ! temporary indices 
    1119       INTEGER ::  jpi1,jpi2,jpj1,jpj2  ! temporary indices 
     1233      REAL(wp),DIMENSION(:,:,:),ALLOCATABLE     ::   ztmp_fly_dta,zfieldo                  ! temporary array of values on input grid 
     1234      INTEGER, DIMENSION(3)                     ::   rec1,recn                             ! temporary arrays for start and length 
     1235      INTEGER, DIMENSION(3)                     ::   rec1_lsm,recn_lsm                     ! temporary arrays for start and length in case of seaoverland 
     1236      INTEGER                                   ::   ii_lsm1,ii_lsm2,ij_lsm1,ij_lsm2       ! temporary indices 
     1237      INTEGER                                   ::   jk, jn, jm, jir, jjr                  ! loop counters 
     1238      INTEGER                                   ::   ni, nj                                ! lengths 
     1239      INTEGER                                   ::   jpimin,jpiwid                         ! temporary indices 
     1240      INTEGER                                   ::   jpimin_lsm,jpiwid_lsm                 ! temporary indices 
     1241      INTEGER                                   ::   jpjmin,jpjwid                         ! temporary indices 
     1242      INTEGER                                   ::   jpjmin_lsm,jpjwid_lsm                 ! temporary indices 
     1243      INTEGER                                   ::   jpi1,jpi2,jpj1,jpj2                   ! temporary indices 
     1244      INTEGER                                   ::   jpi1_lsm,jpi2_lsm,jpj1_lsm,jpj2_lsm   ! temporary indices 
     1245      INTEGER                                   ::   itmpi,itmpj,itmpz                     ! lengths 
     1246       
    11201247      !!---------------------------------------------------------------------- 
    11211248      ! 
     
    11471274      jpj2 = jpj1 + recn(2) - 1 
    11481275 
    1149       ref_wgts(kw)%fly_dta(:,:,:) = 0.0 
    1150       SELECT CASE( SIZE(ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:),3) ) 
    1151       CASE(1) 
    1152            CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,1), nrec, rec1, recn) 
    1153       CASE DEFAULT 
    1154            CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:), nrec, rec1, recn) 
    1155       END SELECT  
     1276 
     1277      IF( LEN( TRIM(lsmfile) ) > 0 ) THEN 
     1278      !! indeces for ztmp_fly_dta 
     1279      ! -------------------------- 
     1280         rec1_lsm(1)=MAX(rec1(1)-nn_lsm,1)  ! starting index for enlarged external data, x direction 
     1281         rec1_lsm(2)=MAX(rec1(2)-nn_lsm,1)  ! starting index for enlarged external data, y direction 
     1282         rec1_lsm(3) = 1                    ! vertical dimension 
     1283         recn_lsm(1)=MIN(rec1(1)-rec1_lsm(1)+recn(1)+nn_lsm,ref_wgts(kw)%ddims(1)-rec1_lsm(1)) ! n points in x direction 
     1284         recn_lsm(2)=MIN(rec1(2)-rec1_lsm(2)+recn(2)+nn_lsm,ref_wgts(kw)%ddims(2)-rec1_lsm(2)) ! n points in y direction 
     1285         recn_lsm(3) = kk                   ! number of vertical levels in the input file 
     1286 
     1287      !  Avoid out of bound 
     1288         jpimin_lsm = MAX( rec1_lsm(1)+1, 1 ) 
     1289         jpjmin_lsm = MAX( rec1_lsm(2)+1, 1 ) 
     1290         jpiwid_lsm = MIN( recn_lsm(1)-2,ref_wgts(kw)%ddims(1)-rec1(1)+1) 
     1291         jpjwid_lsm = MIN( recn_lsm(2)-2,ref_wgts(kw)%ddims(2)-rec1(2)+1) 
     1292 
     1293         jpi1_lsm = 2+rec1_lsm(1)-jpimin_lsm 
     1294         jpj1_lsm = 2+rec1_lsm(2)-jpjmin_lsm 
     1295         jpi2_lsm = jpi1_lsm + recn_lsm(1) - 1 
     1296         jpj2_lsm = jpj1_lsm + recn_lsm(2) - 1 
     1297 
     1298 
     1299         itmpi=SIZE(ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:),1) 
     1300         itmpj=SIZE(ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:),2) 
     1301         itmpz=kk 
     1302         ALLOCATE(ztmp_fly_dta(itmpi,itmpj,itmpz)) 
     1303         ztmp_fly_dta(:,:,:) = 0.0 
     1304         SELECT CASE( SIZE(ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:),3) ) 
     1305         CASE(1) 
     1306              CALL iom_get( num, jpdom_unknown, clvar, ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,1),   & 
     1307                 &                                                                nrec, rec1_lsm, recn_lsm) 
     1308         CASE DEFAULT 
     1309              CALL iom_get( num, jpdom_unknown, clvar, ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:),   & 
     1310                 &                                                                nrec, rec1_lsm, recn_lsm) 
     1311         END SELECT 
     1312         CALL apply_seaoverland(lsmfile,ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:),                  & 
     1313                 &                                      jpi1_lsm,jpi2_lsm,jpj1_lsm,jpj2_lsm,                  & 
     1314                 &                                      itmpi,itmpj,itmpz,rec1_lsm,recn_lsm) 
     1315 
     1316 
     1317         ! Relative indeces for remapping 
     1318         ii_lsm1 = (rec1(1)-rec1_lsm(1))+1 
     1319         ii_lsm2 = (ii_lsm1+recn(1))-1 
     1320         ij_lsm1 = (rec1(2)-rec1_lsm(2))+1 
     1321         ij_lsm2 = (ij_lsm1+recn(2))-1 
     1322 
     1323         ref_wgts(kw)%fly_dta(:,:,:) = 0.0 
     1324         ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:) = ztmp_fly_dta(ii_lsm1:ii_lsm2,ij_lsm1:ij_lsm2,:) 
     1325         DEALLOCATE(ztmp_fly_dta) 
     1326 
     1327      ELSE 
     1328          
     1329         ref_wgts(kw)%fly_dta(:,:,:) = 0.0 
     1330         SELECT CASE( SIZE(ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:),3) ) 
     1331         CASE(1) 
     1332              CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,1), nrec, rec1, recn) 
     1333         CASE DEFAULT 
     1334              CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:), nrec, rec1, recn) 
     1335         END SELECT  
     1336      ENDIF 
     1337       
    11561338 
    11571339      !! first four weights common to both bilinear and bicubic 
  • branches/2013/dev_r4119_INGV6_sol/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90

    r3905 r4189  
    5252   LOGICAL , PUBLIC ::   ln_cdgw     = .FALSE.   !: true if neutral drag coefficient from wave model 
    5353   LOGICAL , PUBLIC ::   ln_sdw      = .FALSE.   !: true if 3d stokes drift from wave model 
    54  
     54   INTEGER , PUBLIC ::   nn_lsm      = 0         !: Number of iteration if seaoverland is applied 
    5555   !!---------------------------------------------------------------------- 
    5656   !!              Ocean Surface Boundary Condition fields 
  • branches/2013/dev_r4119_INGV6_sol/NEMOGCM/NEMO/OPA_SRC/SBC/sbcapr.F90

    r3795 r4189  
    7878         !                                            !* set file information (default values) 
    7979         ! ... default values (NB: frequency positive => hours, negative => months) 
    80          !            !   file   ! frequency !  variable  ! time intep !  clim   ! 'yearly' or ! weights  ! rotation ! 
    81          !            !   name   !  (hours)  !   name     !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs    ! 
    82          sn_apr = FLD_N( 'patm'  ,    24     ,  'patm'    ,  .false.   , .true.  ,   'yearly'  , ''       , ''       ) 
     80         !            !   file   ! frequency !  variable  ! time intep !  clim   ! 'yearly' or ! weights  ! rotation ! land/sea mask ! 
     81         !            !   name   !  (hours)  !   name     !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs    ! filename      ! 
     82         sn_apr = FLD_N( 'patm'  ,    24     ,  'patm'    ,  .false.   , .true.  ,   'yearly'  , ''       , ''       , ''            ) 
    8383         cn_dir  = './'          ! directory in which the Patm data are  
    8484 
  • branches/2013/dev_r4119_INGV6_sol/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90

    r3625 r4189  
    143143 
    144144         ! (NB: frequency positive => hours, negative => months) 
    145          !            !    file    ! frequency ! variable ! time intep !  clim   ! 'yearly' or ! weights  ! rotation ! 
    146          !            !    name    !  (hours)  !  name    !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs    ! 
    147          sn_utau = FLD_N( 'utau'   ,    24     , 'utau'   ,  .true.    , .false. ,   'yearly'  , ''       , ''       )  
    148          sn_vtau = FLD_N( 'vtau'   ,    24     , 'vtau'   ,  .true.    , .false. ,   'yearly'  , ''       , ''       )  
    149          sn_wndm = FLD_N( 'mwnd10m',    24     , 'm_10'   ,  .true.    , .false. ,   'yearly'  , ''       , ''       )  
    150          sn_tair = FLD_N( 'tair10m',    24     , 't_10'   ,  .false.   , .false. ,   'yearly'  , ''       , ''       )  
    151          sn_humi = FLD_N( 'humi10m',    24     , 'q_10'   ,  .false.   , .false. ,   'yearly'  , ''       , ''       )  
    152          sn_ccov = FLD_N( 'ccover' ,    -1     , 'cloud'  ,  .true.    , .false. ,   'yearly'  , ''       , ''       )  
    153          sn_prec = FLD_N( 'precip' ,    -1     , 'precip' ,  .true.    , .false. ,   'yearly'  , ''       , ''       )  
     145         !            !    file    ! frequency ! variable ! time intep !  clim   ! 'yearly' or ! weights  ! rotation ! land/sea mask ! 
     146         !            !    name    !  (hours)  !  name    !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs    ! filename      ! 
     147         sn_utau = FLD_N( 'utau'   ,    24     , 'utau'   ,  .true.    , .false. ,   'yearly'  , ''       , ''       , ''            )  
     148         sn_vtau = FLD_N( 'vtau'   ,    24     , 'vtau'   ,  .true.    , .false. ,   'yearly'  , ''       , ''       , ''            )  
     149         sn_wndm = FLD_N( 'mwnd10m',    24     , 'm_10'   ,  .true.    , .false. ,   'yearly'  , ''       , ''       , ''            )  
     150         sn_tair = FLD_N( 'tair10m',    24     , 't_10'   ,  .false.   , .false. ,   'yearly'  , ''       , ''       , ''            )  
     151         sn_humi = FLD_N( 'humi10m',    24     , 'q_10'   ,  .false.   , .false. ,   'yearly'  , ''       , ''       , ''            )  
     152         sn_ccov = FLD_N( 'ccover' ,    -1     , 'cloud'  ,  .true.    , .false. ,   'yearly'  , ''       , ''       , ''            )  
     153         sn_prec = FLD_N( 'precip' ,    -1     , 'precip' ,  .true.    , .false. ,   'yearly'  , ''       , ''       , ''            )  
    154154 
    155155         REWIND( numnam )                    ! ... read in namlist namsbc_clio 
  • branches/2013/dev_r4119_INGV6_sol/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r3772 r4189  
    139139         ! 
    140140         ! (NB: frequency positive => hours, negative => months) 
    141          !            !    file    ! frequency ! variable ! time intep !  clim   ! 'yearly' or ! weights  ! rotation ! 
    142          !            !    name    !  (hours)  !  name    !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs    ! 
    143          sn_wndi = FLD_N( 'uwnd10m',    24     , 'u_10'   ,  .false.   , .false. ,   'yearly'  , ''       , ''       ) 
    144          sn_wndj = FLD_N( 'vwnd10m',    24     , 'v_10'   ,  .false.   , .false. ,   'yearly'  , ''       , ''       ) 
    145          sn_qsr  = FLD_N( 'qsw'    ,    24     , 'qsw'    ,  .false.   , .false. ,   'yearly'  , ''       , ''       ) 
    146          sn_qlw  = FLD_N( 'qlw'    ,    24     , 'qlw'    ,  .false.   , .false. ,   'yearly'  , ''       , ''       ) 
    147          sn_tair = FLD_N( 'tair10m',    24     , 't_10'   ,  .false.   , .false. ,   'yearly'  , ''       , ''       ) 
    148          sn_humi = FLD_N( 'humi10m',    24     , 'q_10'   ,  .false.   , .false. ,   'yearly'  , ''       , ''       ) 
    149          sn_prec = FLD_N( 'precip' ,    -1     , 'precip' ,  .true.    , .false. ,   'yearly'  , ''       , ''       ) 
    150          sn_snow = FLD_N( 'snow'   ,    -1     , 'snow'   ,  .true.    , .false. ,   'yearly'  , ''       , ''       ) 
    151          sn_tdif = FLD_N( 'taudif' ,    24     , 'taudif' ,  .true.    , .false. ,   'yearly'  , ''       , ''       ) 
     141         !            !    file    ! frequency ! variable ! time intep !  clim   ! 'yearly' or ! weights  ! rotation ! land/sea mask ! 
     142         !            !    name    !  (hours)  !  name    !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs    ! filename      ! 
     143         sn_wndi = FLD_N( 'uwnd10m',    24     , 'u_10'   ,  .false.   , .false. ,   'yearly'  , ''       , ''       , ''            ) 
     144         sn_wndj = FLD_N( 'vwnd10m',    24     , 'v_10'   ,  .false.   , .false. ,   'yearly'  , ''       , ''       , ''            ) 
     145         sn_qsr  = FLD_N( 'qsw'    ,    24     , 'qsw'    ,  .false.   , .false. ,   'yearly'  , ''       , ''       , ''            ) 
     146         sn_qlw  = FLD_N( 'qlw'    ,    24     , 'qlw'    ,  .false.   , .false. ,   'yearly'  , ''       , ''       , ''            ) 
     147         sn_tair = FLD_N( 'tair10m',    24     , 't_10'   ,  .false.   , .false. ,   'yearly'  , ''       , ''       , ''            ) 
     148         sn_humi = FLD_N( 'humi10m',    24     , 'q_10'   ,  .false.   , .false. ,   'yearly'  , ''       , ''       , ''            ) 
     149         sn_prec = FLD_N( 'precip' ,    -1     , 'precip' ,  .true.    , .false. ,   'yearly'  , ''       , ''       , ''            ) 
     150         sn_snow = FLD_N( 'snow'   ,    -1     , 'snow'   ,  .true.    , .false. ,   'yearly'  , ''       , ''       , ''            ) 
     151         sn_tdif = FLD_N( 'taudif' ,    24     , 'taudif' ,  .true.    , .false. ,   'yearly'  , ''       , ''       , ''            ) 
    152152         ! 
    153153         REWIND( numnam )                          ! read in namlist namsbc_core 
  • branches/2013/dev_r4119_INGV6_sol/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_mfs.F90

    r3625 r4189  
    137137            ! 
    138138            ! (NB: frequency positive => hours, negative => months) 
    139             !            !    file     ! frequency !  variable  ! time intep !  clim   ! 'yearly' or ! weights  ! rotation   ! 
    140             !            !    name     !  (hours)  !   name     !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs      ! 
    141             sn_wndi = FLD_N( 'ecmwf'   ,    24     ,  'u10'     ,  .false.   , .false. ,   'daily'   , ''       , ''         ) 
    142             sn_wndj = FLD_N( 'ecmwf'   ,    24     ,  'v10'     ,  .false.   , .false. ,   'daily'   , ''       , ''         ) 
    143             sn_clc  = FLD_N( 'ecmwf'   ,    24     ,  'clc'     ,  .false.   , .false. ,   'daily'   , ''       , ''         ) 
    144             sn_msl  = FLD_N( 'ecmwf'   ,    24     ,  'msl'     ,  .false.   , .false. ,   'daily'   , ''       , ''         ) 
    145             sn_tair = FLD_N( 'ecmwf'   ,    24     ,  't2'      ,  .false.   , .false. ,   'daily'   , ''       , ''         ) 
    146             sn_rhm  = FLD_N( 'ecmwf'   ,    24     ,  'rh'      ,  .false.   , .false. ,   'daily'   , ''       , ''         ) 
    147             sn_prec = FLD_N( 'precip_cmap' ,  -1   ,  'precip'  ,  .true.    ,  .true. ,   'yearly'  , ''       , ''         ) 
     139            !            !    file     ! frequency !  variable  ! time intep !  clim   ! 'yearly' or ! weights  ! rotation   ! land/sea mask ! 
     140            !            !    name     !  (hours)  !   name     !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs      ! filename      ! 
     141            sn_wndi = FLD_N( 'ecmwf'   ,    24     ,  'u10'     ,  .false.   , .false. ,   'daily'   , ''       , ''         , ''            ) 
     142            sn_wndj = FLD_N( 'ecmwf'   ,    24     ,  'v10'     ,  .false.   , .false. ,   'daily'   , ''       , ''         , ''            ) 
     143            sn_clc  = FLD_N( 'ecmwf'   ,    24     ,  'clc'     ,  .false.   , .false. ,   'daily'   , ''       , ''         , ''            ) 
     144            sn_msl  = FLD_N( 'ecmwf'   ,    24     ,  'msl'     ,  .false.   , .false. ,   'daily'   , ''       , ''         , ''            ) 
     145            sn_tair = FLD_N( 'ecmwf'   ,    24     ,  't2'      ,  .false.   , .false. ,   'daily'   , ''       , ''         , ''            ) 
     146            sn_rhm  = FLD_N( 'ecmwf'   ,    24     ,  'rh'      ,  .false.   , .false. ,   'daily'   , ''       , ''         , ''            ) 
     147            sn_prec = FLD_N( 'precip_cmap' ,  -1   ,  'precip'  ,  .true.    ,  .true. ,   'yearly'  , ''       , ''         , ''            ) 
    148148            ! 
    149149            REWIND( numnam )                    ! ... read in namlist namsbc_mfs 
  • branches/2013/dev_r4119_INGV6_sol/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx.F90

    r3625 r4189  
    9292         cn_dir = './'        ! directory in which the model is executed 
    9393         ! ... default values (NB: frequency positive => hours, negative => months) 
    94          !              !  file   ! frequency !  variable  ! time intep !  clim   ! 'yearly' or ! weights  ! rotation  ! 
    95          !              !  name   !  (hours)  !   name     !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs     ! 
    96          sn_utau = FLD_N(  'utau' ,    24     ,  'utau'    ,  .false.   , .false. ,   'yearly'  , ''       , ''        ) 
    97          sn_vtau = FLD_N(  'vtau' ,    24     ,  'vtau'    ,  .false.   , .false. ,   'yearly'  , ''       , ''        ) 
    98          sn_qtot = FLD_N(  'qtot' ,    24     ,  'qtot'    ,  .false.   , .false. ,   'yearly'  , ''       , ''        ) 
    99          sn_qsr  = FLD_N(  'qsr'  ,    24     ,  'qsr'     ,  .false.   , .false. ,   'yearly'  , ''       , ''        ) 
    100          sn_emp  = FLD_N(  'emp'  ,    24     ,  'emp'     ,  .false.   , .false. ,   'yearly'  , ''       , ''        ) 
     94         !              !  file   ! frequency !  variable  ! time intep !  clim   ! 'yearly' or ! weights  ! rotation  ! land/sea mask ! 
     95         !              !  name   !  (hours)  !   name     !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs     ! filename      ! 
     96         sn_utau = FLD_N(  'utau' ,    24     ,  'utau'    ,  .false.   , .false. ,   'yearly'  , ''       , ''        , ''            ) 
     97         sn_vtau = FLD_N(  'vtau' ,    24     ,  'vtau'    ,  .false.   , .false. ,   'yearly'  , ''       , ''        , ''            ) 
     98         sn_qtot = FLD_N(  'qtot' ,    24     ,  'qtot'    ,  .false.   , .false. ,   'yearly'  , ''       , ''        , ''            ) 
     99         sn_qsr  = FLD_N(  'qsr'  ,    24     ,  'qsr'     ,  .false.   , .false. ,   'yearly'  , ''       , ''        , ''            ) 
     100         sn_emp  = FLD_N(  'emp'  ,    24     ,  'emp'     ,  .false.   , .false. ,   'yearly'  , ''       , ''        , ''            ) 
    101101         ! 
    102102         REWIND ( numnam )                         ! read in namlist namflx 
  • branches/2013/dev_r4119_INGV6_sol/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90

    r3625 r4189  
    743743 
    744744         ! (NB: frequency positive => hours, negative => months) 
    745          !            !    file          ! frequency !  variable    ! time intep !  clim   ! 'yearly' or ! weights  ! rotation   ! 
    746          !            !    name          !  (hours)  !   name       !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs      ! 
    747          sn_snow = FLD_N( 'snowfall_1m'  ,    -1.    ,  'snowfall'  ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         )  
    748          sn_rain = FLD_N( 'rainfall_1m'  ,    -1.    ,  'rainfall'  ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         )  
    749          sn_sblm = FLD_N( 'sublim_1m'    ,    -1.    ,  'sublim'    ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         ) 
    750          sn_top1 = FLD_N( 'topmeltn1_1m' ,    -1.    ,  'topmeltn1' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         ) 
    751          sn_top2 = FLD_N( 'topmeltn2_1m' ,    -1.    ,  'topmeltn2' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         ) 
    752          sn_top3 = FLD_N( 'topmeltn3_1m' ,    -1.    ,  'topmeltn3' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         ) 
    753          sn_top4 = FLD_N( 'topmeltn4_1m' ,    -1.    ,  'topmeltn4' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         ) 
    754          sn_top5 = FLD_N( 'topmeltn5_1m' ,    -1.    ,  'topmeltn5' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         ) 
    755          sn_bot1 = FLD_N( 'botmeltn1_1m' ,    -1.    ,  'botmeltn1' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         ) 
    756          sn_bot2 = FLD_N( 'botmeltn2_1m' ,    -1.    ,  'botmeltn2' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         ) 
    757          sn_bot3 = FLD_N( 'botmeltn3_1m' ,    -1.    ,  'botmeltn3' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         ) 
    758          sn_bot4 = FLD_N( 'botmeltn4_1m' ,    -1.    ,  'botmeltn4' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         ) 
    759          sn_bot5 = FLD_N( 'botmeltn5_1m' ,    -1.    ,  'botmeltn5' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         ) 
     745         !            !    file          ! frequency !  variable    ! time intep !  clim   ! 'yearly' or ! weights  ! rotation   ! land/sea mask ! 
     746         !            !    name          !  (hours)  !   name       !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs      ! filename      ! 
     747         sn_snow = FLD_N( 'snowfall_1m'  ,    -1.    ,  'snowfall'  ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         , ''            )  
     748         sn_rain = FLD_N( 'rainfall_1m'  ,    -1.    ,  'rainfall'  ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         , ''            )  
     749         sn_sblm = FLD_N( 'sublim_1m'    ,    -1.    ,  'sublim'    ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         , ''            ) 
     750         sn_top1 = FLD_N( 'topmeltn1_1m' ,    -1.    ,  'topmeltn1' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         , ''            ) 
     751         sn_top2 = FLD_N( 'topmeltn2_1m' ,    -1.    ,  'topmeltn2' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         , ''            ) 
     752         sn_top3 = FLD_N( 'topmeltn3_1m' ,    -1.    ,  'topmeltn3' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         , ''            ) 
     753         sn_top4 = FLD_N( 'topmeltn4_1m' ,    -1.    ,  'topmeltn4' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         , ''            ) 
     754         sn_top5 = FLD_N( 'topmeltn5_1m' ,    -1.    ,  'topmeltn5' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         , ''            ) 
     755         sn_bot1 = FLD_N( 'botmeltn1_1m' ,    -1.    ,  'botmeltn1' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         , ''            ) 
     756         sn_bot2 = FLD_N( 'botmeltn2_1m' ,    -1.    ,  'botmeltn2' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         , ''            ) 
     757         sn_bot3 = FLD_N( 'botmeltn3_1m' ,    -1.    ,  'botmeltn3' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         , ''            ) 
     758         sn_bot4 = FLD_N( 'botmeltn4_1m' ,    -1.    ,  'botmeltn4' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         , ''            ) 
     759         sn_bot5 = FLD_N( 'botmeltn5_1m' ,    -1.    ,  'botmeltn5' ,  .true.    , .true.  ,  ' yearly'  , ''       , ''         , ''            ) 
    760760 
    761761!         REWIND ( numnam )               ! ... at some point might read in from NEMO namelist? 
  • branches/2013/dev_r4119_INGV6_sol/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_if.F90

    r3625 r4189  
    7272         cn_dir = './'        ! directory in which the model is executed 
    7373         ! ... default values (NB: frequency positive => hours, negative => months) 
    74          !             !   file    ! frequency !  variable  ! time intep !  clim  ! 'yearly' or ! weights  ! rotation   ! 
    75          !             !   name    !  (hours)  !   name     !   (T/F)    !  (T/F) !  'monthly'  ! filename ! pairs      !  
    76          sn_ice = FLD_N('ice_cover',    -1    ,  'ice_cov' ,  .true.    , .true. ,   'yearly'  , ''       , ''         ) 
     74         !             !   file    ! frequency !  variable  ! time intep !  clim  ! 'yearly' or ! weights  ! rotation   ! land/sea mask ! 
     75         !             !   name    !  (hours)  !   name     !   (T/F)    !  (T/F) !  'monthly'  ! filename ! pairs      ! filename      ! 
     76         sn_ice = FLD_N('ice_cover',    -1     ,  'ice_cov' ,  .true.    , .true. ,   'yearly'  , ''       , ''         , ''            ) 
    7777 
    7878         REWIND ( numnam )               ! ... read in namlist namiif 
  • branches/2013/dev_r4119_INGV6_sol/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r4028 r4189  
    8686      NAMELIST/namsbc/ nn_fsbc   , ln_ana    , ln_flx,  ln_blk_clio, ln_blk_core, ln_cpl,   & 
    8787         &             ln_blk_mfs, ln_apr_dyn, nn_ice,  nn_ice_embd, ln_dm2dc   , ln_rnf,   & 
    88          &             ln_ssr    , nn_fwb    , ln_cdgw , ln_wave , ln_sdw 
     88         &             ln_ssr    , nn_fwb    , ln_cdgw , ln_wave , ln_sdw , nn_lsm 
    8989      !!---------------------------------------------------------------------- 
    9090 
     
    128128         WRITE(numout,*) '              FreshWater Budget control  (=0/1/2)        nn_fwb      = ', nn_fwb 
    129129         WRITE(numout,*) '              closed sea (=0/1) (set in namdom)          nn_closea   = ', nn_closea 
     130         WRITE(numout,*) '              n. of iterations if land-sea-mask applied  nn_lsm      = ', nn_lsm 
    130131      ENDIF 
    131132 
  • branches/2013/dev_r4119_INGV6_sol/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90

    r3832 r4189  
    255255      !                                   ! ============ 
    256256      ! (NB: frequency positive => hours, negative => months) 
    257       !            !   file    ! frequency !  variable  ! time intep !  clim  ! 'yearly' or ! weights  ! rotation  ! 
    258       !            !   name    !  (hours)  !   name     !   (T/F)    !  (T/F) !  'monthly'  ! filename ! pairs      ! 
    259       sn_rnf = FLD_N( 'runoffs',    -1     , 'sorunoff' ,  .TRUE.    , .true. ,   'yearly'  , ''       , ''         ) 
    260       sn_cnf = FLD_N( 'runoffs',     0     , 'sorunoff' ,  .FALSE.   , .true. ,   'yearly'  , ''       , ''         ) 
    261  
    262       sn_s_rnf = FLD_N( 'runoffs',  24.  , 'rosaline' ,  .TRUE.    , .true. ,   'yearly'  , ''    , ''  ) 
    263       sn_t_rnf = FLD_N( 'runoffs',  24.  , 'rotemper' ,  .TRUE.    , .true. ,   'yearly'  , ''    , ''  ) 
    264       sn_dep_rnf = FLD_N( 'runoffs',   0.  , 'rodepth'  ,  .FALSE.   , .true. ,   'yearly'  , ''    , ''  ) 
     257      !            !   file        ! frequency !  variable  ! time intep !  clim  ! 'yearly' or ! weights  ! rotation   ! land/sea mask ! 
     258      !            !   name        !  (hours)  !   name     !   (T/F)    !  (T/F) !  'monthly'  ! filename ! pairs      ! filename      ! 
     259      sn_rnf = FLD_N( 'runoffs'    ,    -1     , 'sorunoff' ,  .TRUE.    , .true. ,   'yearly'  , ''       , ''         , ''            ) 
     260      sn_cnf = FLD_N( 'runoffs'    ,     0     , 'sorunoff' ,  .FALSE.   , .true. ,   'yearly'  , ''       , ''         , ''            ) 
     261 
     262      sn_s_rnf = FLD_N( 'runoffs'  ,  24.      , 'rosaline' ,  .TRUE.    , .true. ,   'yearly'  , ''       , ''         , ''            ) 
     263      sn_t_rnf = FLD_N( 'runoffs'  ,  24.      , 'rotemper' ,  .TRUE.    , .true. ,   'yearly'  , ''       , ''         , ''            ) 
     264      sn_dep_rnf = FLD_N( 'runoffs',   0.      , 'rodepth'  ,  .FALSE.   , .true. ,   'yearly'  , ''       , ''         , ''            ) 
    265265      ! 
    266266      REWIND ( numnam )                         ! Read Namelist namsbc_rnf 
  • branches/2013/dev_r4119_INGV6_sol/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssr.F90

    r3764 r4189  
    169169      cn_dir  = './'            ! directory in which the model is executed 
    170170      ! ... default values (NB: frequency positive => hours, negative => months) 
    171       !            !   file    ! frequency !  variable  ! time intep !  clim   ! 'yearly' or ! weights  ! rotation   ! 
    172       !            !   name    !  (hours)  !   name     !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs      ! 
    173       sn_sst = FLD_N( 'sst'    ,    24     ,  'sst'     ,  .false.   , .false. ,   'yearly'  , ''       , ''         ) 
    174       sn_sss = FLD_N( 'sss'    ,    -1     ,  'sss'     ,  .true.    , .false. ,   'yearly'  , ''       , ''         ) 
     171      !            !   file    ! frequency !  variable  ! time intep !  clim   ! 'yearly' or ! weights  ! rotation   ! land/sea mask ! 
     172      !            !   name    !  (hours)  !   name     !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs      ! filename      ! 
     173      sn_sst = FLD_N( 'sst'    ,    24     ,  'sst'     ,  .false.   , .false. ,   'yearly'  , ''       , ''         , ''            ) 
     174      sn_sss = FLD_N( 'sss'    ,    -1     ,  'sss'     ,  .true.    , .false. ,   'yearly'  , ''       , ''         , ''            ) 
    175175 
    176176      REWIND( numnam )             !* read in namlist namflx 
  • branches/2013/dev_r4119_INGV6_sol/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave.F90

    r3680 r4189  
    8484         !                                            !* set file information (default values) 
    8585         ! ... default values (NB: frequency positive => hours, negative => months) 
    86          !              !   file   ! frequency !  variable  ! time intep !  clim   ! 'yearly' or ! weights  ! rotation ! 
    87          !              !   name   !  (hours)  !   name     !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs    ! 
    88          sn_cdg = FLD_N('cdg_wave'  ,    1     ,'drag_coeff',  .true.    , .false. ,   'daily'   , ''       , ''       ) 
    89          sn_usd = FLD_N('sdw_wave'  ,    1     ,'u_sd2d',      .true.    , .false. ,   'daily'   , ''       , ''       ) 
    90          sn_vsd = FLD_N('sdw_wave'  ,    1     ,'v_sd2d',      .true.    , .false. ,   'daily'   , ''       , ''       ) 
    91          sn_wn = FLD_N( 'sdw_wave'  ,    1     ,'wave_num',    .true.    , .false. ,   'daily'   , ''       , ''       ) 
     86         !              !   file   ! frequency !  variable  ! time intep !  clim   ! 'yearly' or ! weights  ! rotation ! land/sea mask ! 
     87         !              !   name   !  (hours)  !   name     !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs    ! filename      ! 
     88         sn_cdg = FLD_N('cdg_wave'  ,    1     ,'drag_coeff',  .true.    , .false. ,   'daily'   , ''       , ''       , ''            ) 
     89         sn_usd = FLD_N('sdw_wave'  ,    1     ,'u_sd2d',      .true.    , .false. ,   'daily'   , ''       , ''       , ''            ) 
     90         sn_vsd = FLD_N('sdw_wave'  ,    1     ,'v_sd2d',      .true.    , .false. ,   'daily'   , ''       , ''       , ''            ) 
     91         sn_wn = FLD_N( 'sdw_wave'  ,    1     ,'wave_num',    .true.    , .false. ,   'daily'   , ''       , ''       , ''            ) 
    9292         cn_dir = './'          ! directory in which the wave data are  
    9393          
Note: See TracChangeset for help on using the changeset viewer.