[gembud] gempak.6.10 - dcmsfc fails to write gempak files

In the latest gempak 6.10 release, dcmsfc fails to complete and write
gempak output files.  I've tracked the issue down to a change in the
gemprm.h file that was not made in the GEMPRM.PRM file.

In gemprm.h, the defined constant LLMXTM was changed to 25000 from 2000.
This same change was not made in GEMPRM.PRM where the value of LLMXTM is
still set to 2000.  This is causing the following IF statement in dmcret.f
to trigger:

    IF  ( ( nrow .lt. 1 ) .or. ( ncol .lt. 1 ) .or.
     +          ( (nrow + ncol) .gt. MMHDRS ) .or.
     +          ( nprt .lt. 1 ) .or. ( nprt .gt. MMPRT ) .or.
     +          ( MAXPRM .gt. MMPARM )  .or.  ( nfhdrs .gt. MMFHDR ) .or.
     +          ( nrkeys .gt. MMKEY  )  .or.  ( nckeys .gt. MMKEY ) )
     +                            THEN
        iret = -5
        RETURN
    END IF

(nrow + ncol) always ends up being > MMHDRS

ncol is set from maxrpt via maxtim in dcgopt.c via MMHDRS from gemprm.h

MMHDRS = LLMXTM + LLSTFL,  or 55000 = 25000+30000
and ncol = 54999

The MMHDRS set in dmcret.f using GEMPRM.PRM is

MMHDRS = LLMXTM + LLSTFL, or 32000 = 2000+30000

Since ncol is set in a c source code file, it ends up always being larger
then the MMHDRS reference in the fortran code.

Changing the value of LLMXTM in GEMPRM.PRM fixes this issue though I am not
sure if that is the correct solution to this issue.

Gene
  • 2013 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the gembud archives: