Ignore:
Timestamp:
12/16/19 14:33:26 (4 years ago)
Author:
jgipsl
Message:

Following changes have been done by A.Jornet/LSCE. No change is results and no change in usage have been seen. Some more error checking might stop the model for example if dimensions are not correct in call to histcom module.

Restcom:

  • Define a new var size length (20 to 100 )→ pbs found without no errors
  • Raise an error when var name is too long
  • Deallocate any buffer at the end of all restput/restcget calls → buffers only increase size. After loading/saving nothing is done with this memory

Histcom:

  • Raise an error if given history declared variables do not match with given dimensions from histwrite

getincom and stringop:

  • Enable any length character for the run.def → useful for long filepaths

flincom

  • Enable filenames longer than 80 chars to any
  • Deallocate buffers at the end of any flinget subroutine
File:
1 edited

Legend:

Unmodified
Added
Removed
  • IOIPSL/trunk/src/histcom.f90

    r4419 r4863  
    16991699  CHARACTER(LEN=7) :: tmp_opp 
    17001700  CHARACTER(LEN=13) :: c_nam 
     1701  CHARACTER(LEN=20) :: tmpstr, tmpstr2 
    17011702  LOGICAL :: l_dbg 
     1703  INTEGER :: initzdim, varzdim 
    17021704!--------------------------------------------------------------------- 
    17031705  CALL ipsldbg (old_status=l_dbg) 
     
    17271729!- 
    17281730  CALL histvar_seq (idf,pvarname,iv) 
     1731!- 
     1732! 1.2 Check for variable dimension is the same as declared 
     1733!- 
     1734  IF (PRESENT(pdata_2d) .OR. PRESENT(pdata_3d)) THEN 
     1735      IF (PRESENT(pdata_2d)) varzdim = SIZE(pdata_2d, DIM=2) 
     1736      IF (PRESENT(pdata_3d)) varzdim = SIZE(pdata_3d, DIM=2) 
     1737 
     1738      initzdim = W_F(idf)%W_V(iv)%zsize(3) 
     1739      IF (initzdim .NE. varzdim) THEN 
     1740        WRITE(tmpstr,  *) initzdim 
     1741        WRITE(tmpstr2, *) varzdim 
     1742        CALL ipslerr(3, "histwrite", "Variable="//pvarname,         & 
     1743                        "Expected 3rd dimension size: "//TRIM(tmpstr),  & 
     1744                        "But found: "//TRIM(tmpstr2)) 
     1745      ENDIF 
     1746  ENDIF 
    17291747!- 
    17301748! 2.0 do nothing for never operation 
Note: See TracChangeset for help on using the changeset viewer.