Opened 6 years ago

Closed 6 years ago

#790 closed upgrade (Done)

Change allocation of FOURDVAR structure

Reported by: arango Owned by:
Priority: major Milestone: Release ROMS/TOMS 3.7
Component: Adjoint Version: 3.7
Keywords: Cc:

Description

  • For the convenience of allocating and deallocating, the arrays in the structure FOURDVAR(ng) are now declared as allocatable instead of a pointer in mod_fourdvar.F. So now we have:
    !
    !  Define module structure.
    !
            TYPE T_FOURDVAR
    
              integer , allocatable :: NobsSurvey(:)
              integer , allocatable :: ObsCount(:)
              integer , allocatable :: ObsReject(:)
              ...
            END TYPE T_FOURDVAR
    
            TYPE (T_FOURDVAR), allocatable :: FOURDVAR(:)
    
    The change is made to facilitate new 4D-Var algorithms currently under development.
  • Also, corrected a minor bug in read_asspar.F when processing keywords Iprovenance and P_bgqc:
    #  ifdef BGQC
                ...
    
                CASE ('Iprovenance')
                  Mval=MAXVAL(Nprovenance)
                  Npts=load_i(Nval, Rval, Mval, Ngrids, Iprovenance)
                CASE ('P_bgqc')
                  Mval=MAXVAL(Nprovenance)
                  Npts=load_r(Nval, Rval, Mval, Ngrids, P_bgqc)
    #  endif
    
    because it has the wrong number of arguments to load_i and load_r since both Iprovenance and P_bgqc are 2D arrays.

Change History (1)

comment:1 by arango, 6 years ago

Resolution: Done
Status: newclosed
Note: See TracTickets for help on using tickets.