Changeset 11857


Ignore:
Timestamp:
2019-11-05T15:23:53+01:00 (9 months ago)
Author:
gsamson
Message:

dev_r11265_ABL: bulks compatibility with 3D atmospheric forcing (by reading only the first level) (#2131)

Location:
NEMO/branches/2019/dev_r11265_ASINTER-01_Guillaume_ABL1D/src/OCE
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11265_ASINTER-01_Guillaume_ABL1D/src/OCE/IOM/iom.F90

    r11586 r11857  
    11581158            WRITE(cldmspc , fmt='(i1)') idmspc 
    11591159            ! 
    1160             IF(     idmspc <  irankpv ) THEN  
    1161                CALL ctl_stop( TRIM(clinfo), 'The file has only '//cldmspc//' spatial dimension',   & 
    1162                   &                         'it is impossible to read a '//clrankpv//'D array from this file...' ) 
    1163             ELSEIF( idmspc == irankpv ) THEN 
     1160            !!GS: we consider 2D data as 3D data with vertical dim size = 1 
     1161            !IF(     idmspc <  irankpv ) THEN  
     1162            !   CALL ctl_stop( TRIM(clinfo), 'The file has only '//cldmspc//' spatial dimension',   & 
     1163            !      &                         'it is impossible to read a '//clrankpv//'D array from this file...' ) 
     1164            !ELSEIF( idmspc == irankpv ) THEN 
     1165            IF( idmspc == irankpv ) THEN 
    11641166               IF( PRESENT(pv_r1d) .AND. idom /= jpdom_unknown )   & 
    11651167                  &   CALL ctl_stop( TRIM(clinfo), 'case not coded...You must use jpdom_unknown' ) 
  • NEMO/branches/2019/dev_r11265_ASINTER-01_Guillaume_ABL1D/src/OCE/SBC/fldread.F90

    r11268 r11857  
    13181318 
    13191319      !! get dimensions 
    1320       IF ( SIZE(sd%fnow, 3) > 1 ) THEN 
     1320      !!GS: we consider 2D data as 3D data with vertical dim size = 1 
     1321      !IF ( SIZE(sd%fnow, 3) > 1 ) THEN 
     1322      IF ( SIZE(sd%fnow, 3) > 0 ) THEN 
    13211323         ALLOCATE( ddims(4) ) 
    13221324      ELSE 
     
    16401642          
    16411643         ref_wgts(kw)%fly_dta(:,:,:) = 0.0 
    1642          SELECT CASE( SIZE(ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:),3) ) 
    1643          CASE(1) 
    1644               CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,1), nrec, rec1, recn) 
    1645          CASE DEFAULT 
     1644         !!GS: we consider 2D data as 3D data with vertical dim size = 1  
     1645         !SELECT CASE( SIZE(ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:),3) ) 
     1646         !CASE(1) 
     1647         !     CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,1), nrec, rec1, recn) 
     1648         !CASE DEFAULT 
    16461649              CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:), nrec, rec1, recn) 
    1647          END SELECT  
     1650         !END SELECT  
    16481651      ENDIF 
    16491652       
     
    16891692           IF( jpi1 == 2 ) THEN 
    16901693              rec1(1) = ref_wgts(kw)%ddims(1) - ref_wgts(kw)%overlap 
    1691               SELECT CASE( SIZE( ref_wgts(kw)%col(:,jpj1:jpj2,:),3) ) 
    1692               CASE(1) 
    1693                    CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,1), nrec, rec1, recn) 
    1694               CASE DEFAULT 
     1694              !!GS: we consider 2D data as 3D data with vertical dim size = 1 
     1695              !SELECT CASE( SIZE( ref_wgts(kw)%col(:,jpj1:jpj2,:),3) ) 
     1696              !CASE(1) 
     1697              !     CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,1), nrec, rec1, recn) 
     1698              !CASE DEFAULT 
    16951699                   CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,:), nrec, rec1, recn) 
    1696               END SELECT       
     1700              !END SELECT       
    16971701              ref_wgts(kw)%fly_dta(jpi1-1,jpj1:jpj2,:) = ref_wgts(kw)%col(1,jpj1:jpj2,:) 
    16981702           ENDIF 
    16991703           IF( jpi2 + jpimin - 1 == ref_wgts(kw)%ddims(1)+1 ) THEN 
    17001704              rec1(1) = 1 + ref_wgts(kw)%overlap 
    1701               SELECT CASE( SIZE( ref_wgts(kw)%col(:,jpj1:jpj2,:),3) ) 
    1702               CASE(1) 
    1703                    CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,1), nrec, rec1, recn) 
    1704               CASE DEFAULT 
     1705              !!GS: we consider 2D data as 3D data with vertical dim size = 1 
     1706              !SELECT CASE( SIZE( ref_wgts(kw)%col(:,jpj1:jpj2,:),3) ) 
     1707              !CASE(1) 
     1708              !     CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,1), nrec, rec1, recn) 
     1709              !CASE DEFAULT 
    17051710                   CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,:), nrec, rec1, recn) 
    1706               END SELECT 
     1711              !END SELECT 
    17071712              ref_wgts(kw)%fly_dta(jpi2+1,jpj1:jpj2,:) = ref_wgts(kw)%col(1,jpj1:jpj2,:) 
    17081713           ENDIF 
Note: See TracChangeset for help on using the changeset viewer.