Changeset 1319


Ignore:
Timestamp:
2009-02-17T18:58:41+01:00 (12 years ago)
Author:
rblod
Message:

First try to use IOF with AGRIF, see ticket #341

Location:
trunk/NEMO/OPA_SRC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/IOM/iom.F90

    r1202 r1319  
    4949CONTAINS 
    5050 
    51    SUBROUTINE iom_open( cdname, kiomid, ldwrt, kdom, kiolib, ldstop ) 
     51   SUBROUTINE iom_open( cdname, kiomid, ldwrt, kdom, kiolib, ldstop, ldiof ) 
    5252      !!--------------------------------------------------------------------- 
    5353      !!                   ***  SUBROUTINE  iom_open  *** 
     
    6161      INTEGER         , INTENT(in   ), OPTIONAL ::   kiolib   ! library used to open the file (default = jpnf90)  
    6262      LOGICAL         , INTENT(in   ), OPTIONAL ::   ldstop   ! stop if open to read a non-existing file (default = .TRUE.) 
     63      LOGICAL         , INTENT(in   ), OPTIONAL ::   ldiof    ! Interp On the Fly, needed for AGRIF (default = .FALSE.) 
    6364 
    6465      CHARACTER(LEN=100)    ::   clname    ! the name of the file based on cdname [[+clcpu]+clcpu] 
     
    7172      LOGICAL               ::   llnoov    ! local definition to read overlap 
    7273      LOGICAL               ::   llstop    ! local definition of ldstop 
     74      LOGICAL               ::   lliof     ! local definition of ldiof 
    7375      INTEGER               ::   iolib     ! library do we use to open the file 
    7476      INTEGER               ::   icnt      ! counter for digits in clcpu (max = jpmax_digits) 
     
    105107      ELSE                         ;   iolib = jpnf90 
    106108      ENDIF 
     109      ! are we using interpolation on the fly? 
     110      IF( PRESENT(ldiof) ) THEN   ;   lliof = ldiof 
     111      ELSE                        ;   lliof = .FALSE. 
     112      ENDIF 
    107113      ! do we read the overlap  
    108114      ! ugly patch SM+JMM+RB to overwrite global definition in some cases 
     
    112118      clname   = trim(cdname) 
    113119#if defined key_agrif 
    114       IF ( .NOT. Agrif_Root() ) THEN 
     120      IF ( .NOT. Agrif_Root() .AND. .NOT. lliof ) THEN 
    115121         iln    = INDEX(clname,'/')  
    116122         cltmpn = clname(1:iln) 
  • trunk/NEMO/OPA_SRC/SBC/fldread.F90

    r1295 r1319  
    506506         IF( sdjf%cltype == 'monthly' )   WRITE(sdjf%clname, '(a,"m",i2.2)'  ) TRIM( sdjf%clname     ), kmonth   ! add month 
    507507      ENDIF 
    508       CALL iom_open( sdjf%clname, sdjf%num, ldstop = ldstop ) 
     508      CALL iom_open( sdjf%clname, sdjf%num, ldstop = ldstop, ldiof =  LEN(TRIM(sdjf%wgtname)) > 0 ) 
    509509      ! 
    510510   END SUBROUTINE fld_clopn 
     
    677677 
    678678      !! open input data file (non-model grid) 
    679       CALL iom_open( sd%clname, inum ) 
     679      CALL iom_open( sd%clname, inum, ldiof =  LEN(TRIM(sd%wgtname)) > 0 ) 
    680680 
    681681      !! get dimensions 
Note: See TracChangeset for help on using the changeset viewer.