Olfg - Tides or air pressure loading effects:
                components Radial, Tangential

 Olss - Strain components

     Main program overview

     Namelist input

     Open files block

     Site specification | Subroutine get_sites


     Advice for compiling and linking (few)

     HOW TO ...

Instructions for main programs  ~/Oload/p/mpp/olfg.f and olss.f

      program    global_loading

  Main program to call RSLOAD (p/olsrg01.f) for ocean tide or air pressure
  loading is p/mpp/olfg.f There is a companion program that computes strain
  components by calling RSLOAD_STRAIN (p/olssg01.f), p/mpp/olss.f (identical
  input and instructions)

  Tides: A variety of tide models can be processed. All are defined
  on spherical equi-angular grids. These models are termed GLOBAL if their
  grid covers the entire longitude cycle. Special reading procedures are
  called to input e.g. the CSR or a Schwiderski model, alternately the
  simple GETZM procedure is used. To utilize the higher coastal resolution
  afforded by ETOPO5 / TerrainBase these is a post processor routine, olmpp.

  Air pressure: Request subroutine GETRM to read pressure grid (GETIM to read
  the associated flag file).

  Run-time instructions are input from file olfg.ins (olss.ins); see below.

  In the following text frequent reference is made to the all-important
  namelist &forms. Much of the program behaviour is controlled this way
  while commands steer it through a set of partial tide models, a set
  of Greens functions etc. Both the namelist and the command descriptions
  must be read with care. I'm looking forward to complaints and suggestions

  The domain of convolution can be limited by
  (a) a user-window  (Namelist variables UWINDO(1..4) and QUWIND).
      Loading effects due to tides either inside or outside this region
      may be computed.
  (b) the declaration of a plane grid regional model. This mode is entered
      if a file on unit 33 is opened (Open File block in file olfg.ins).
  (c) the declaration of a plane grid regional model with overlap weights;
      the loading effects of the exterior or of the interior can be computed
      (c.f. Namelist variable  Inverse_Weight).  This mode is entered if
      files on units 33 and 34 are opened. Program \OLOAD\OLSTM computes
      the overlap weights.
  (d) The user window (a) can be forced to superimpose the area of (b) or (c)
      (Namelist variables UWINDOW(1..4) and QFWIND).

  Local coastline refinement.
  A local window can be excepted in the load computation at each site. Olfg
  will produce XCPT exception table output equivalent to C:\OLOAD\OLM61*
  This data can subsequently be post-processed with Olmpp.
  The TOPO data processing, however, is deferred to Olmpp.

  Also Olss will produce exception tables in an equivalent way; they can be
  post-processed with the same program Olmpp.

  The loading effects of an ocean tide model on a plane grid (stereographic
  projection can be computed with program \OTEQ\OTEM07.

  If you used \OTEQ\OTEM07 with Keep_Global_Ocean and want to compute
  the global loading effects remaining:
  Declare these areas in the job that computes area weights: OLSTM.exp

  Olfg.f also contains code to compute Centre of Mass Coefficients (CMC).
  The call is to subroutine deg1c (olcmc.f)

  Binary dumps that can be read back with GETZM are prepared using an
  OPEN:iu < filename
  command before a TIDE command. The unit number is assigned in
  Namelist &forms, parameter IU_OUTZM_U.
  Packed array form can be selected under &forms using
  In order to save the flags on file (subr. OUTIML  writing LOG1 flags)
  the file unit iu+1 must be opened. That file will be closed after the
  first writing. Saving the flag file is encouraged in the case of packed

  A formatted write option that may be useful for sending
  files or debugs is available: set IU_OUTZM_F

  For reading back dumped models (which is fast), the following commands
  and namelist parameters are used:

  GREEN ...
  OPEN:24 < flagfile
  DO TIDE M2 M=GETZM$ F=filename$ C=short comment $ G=grid

  If the grid does not change, GCODE='grid' can be given under &forms.

 Back  to top


    Input from olfg.ins:   |||>      The following four items in that order

  (1)   Namelist &FORMS

      Parameter       type       use                                  [default]

                   s             Can be changed from site file (unit 11);
                                      c.f. (3) below.
                   c             Can be changed by command option;
                                      c.f. (4) below.

      MAX_SITES       integer    Trading off  MAX_SITES vs MAX_XCPT helps
      MAX_XCPT        integer    space conservative allocation. The product
                                 of MAX_SITES*MAX_XCPT is to be within the
                                 limits of NUSITES*NUXCPT  as allocated in
                                 BLOCK DATA BXCPT (Oload/p/ols05.f).
                                 MAX_SITES and MAX_XCPT will override
                                 [NUSITES,NUXCPT] only if reasonable values
                                 are expressly specified.               [-1,-1]

                                 Physical parameters
      Q_CMIB           logical   Correct tide mass imbalance           [.true.]
      OTSCALE          real      Factor                                     [1]
      ZOTADD           complex   Add ZOTADD*FACTOR at sea flags             [0]
                                 OTSCALE and ZOTADD are applied at
                                 ACTIVE_FLAGS, see below.

      ZCMC1(3)         complex   Result of ocean function degree-1.
                                 Useful for air pressure since mass conservation
                                 over the oceans is more subtle to implement.
                                 Decent values (real parts): (1.06,0.76,0.50)

                                 Formats, sites, distance control
                                 Many of these parameters can be redefined from inside
                                 the site file. See Site specification and
                                Subroutine get_sites

      FMTIN        s  char*48    Site record input format.
                                 READ (4,fmtin) Sitename, coordinates(1..3)
                                 Special codes:
                                   'stacov' for reading GIPSY-stacov files
                                   'blokq'  for reading CALC/SOLV station files
                                   'ssc-s' 'ssc-v' 'ssc94' 'ssc96'
                                            for reading ITRF SSC files

      QXYZ         s  logical    Site coordinates = geocentric XYZ.
                                 If .false., X=longitude, Y=latitude.     [.F.]
      QDMS         s  logical    Site coordinates are integer deg min sec.
                                 If .false., fractional degrees.          [.F.]
      QHGHT        s  logical    Site coordinates include height.         [.F.]

      CRTDIS       c  real       Distance below which Green's fct is inte-
                                 grated [deg].                           [10.0]
      N_HIRES      c  integer    High resolution load "integration"        [10]

      DISMAX          real       Maximum distance for expansion of Green's
                                 function. Area diagonal might override this
                                 value                   [-1.0 = area diagonal]

      XOFF(100)    s  real       Offset of site (lon,lat) [deg] in the case
      YOFF(100)    s             that the site is "in water"; is applied only
                                 to the one ocean cell that encloses the site.
                                                             [100*0.0, 100*0.0]
      QSKIPW(100)  s  logical    Skip account of load effect of a local ocean
                                 cell where the site is "in water".   [100*.T.]

      QCOMSG       s  logical    Print messages about site coordinates    [.T.]

      CRTALT          real       Critical altitude (m). Gravity sites at greater
                                 altitude: Height effect will be included.
      OLCMNT          char*77    Comment about pgm and user; for BLQ-output.

      BLQAMF          real       Amplitude factor for BLQ-output files.
                                 Written value = computed value times BLQAMF.
                                 Suggest 10.0 for GRAVITY, yielding units
                                 of 0.1 mGal.                             [1.0]

      BLQOPT          char*8     Option for Put_OL_Rec. 'R' to output Real and
                                 Imaginary part rather than Amp and Pha.  [' ']

      TIDES     c     char*80    Tide symbols (maximum: 11) controlling the
                                 order of appearance in the *.blq and *.xtb
                                 output files.
                          ['    M2  S2  N2  K2  K1  O1  P1  Q1  Mf  Mm  Ssa $']

      Q_FAIL          logical    Make matching of partial tide symbols and column
                                 assignment critical for program survival.

      ORTHOS          char*80    Like TIDE,  Orthotide symbols however
                                              ['    A1  B1  C1  A2  B2  C2  $']

      IOUT            integer    File unit for printed results.             [6]

      QRE             logical    Results are real valued. Use shorter
                                 formats where possible                   [.F.]

      QSAM            logical    OLF output file 41:
                                 Show Site name and Monument number.
                                 If false, the "Long site name" is used
                                 for sites with no Monu number.           [.T.]
      Q41_AMP_PHA     logical    Write 41 in the form of amplitude and phase
                                 False: Real part, imaginary part         [.T.]

      FMTAPL          char*72    Format for air pressure loading output on
                                 unit IUAPL.

      IUAPL           integer    Unit number for air pressure loading      [42]
                                 NB:  Air pressure loading will not produce
                                 BLQ-style output since the problem is non
                                 CMPLX. Instead, one file per site is opened
                                 (for append) and the #-D displacement is
                                 #1 date+time r e n

      OUTSPATH        char*64    Prepending string for internally generated
                                 file names under the OUTS command       ['./']

                                 Regional windows
      UWINDO(4)       real       Area window, limits convolution,
                                 West North East South, [deg]          [global]
      QUWIND          logical    Apply window.                            [.F.]
      Load_In_Window  logical    Submode to QUWIND or QFWIND or opened file
                                 unit 33                                  [.T.]
                                 If .F., loads outside window are used.

      QFWIND          logical    Force window, superimpose plane grid window.
                                 A submode under opened file unit 33      [.F.]
                                 If .TRUE., QUWIND should be .FALSE.

     These options should only be used if
     (1) loads are  inside window, and {Inverse_Weight=.true.
                                        or no file opened on unit 34}
     (2) loads are outside window, no file opened on 34.
     I.e. Inverse_Weight = .false. is incompatible with a window.

      INVERSE_WEIGHT  logical    Use  1.0 - overlap_weight.               [.F.]
                                 Inverse_Weight = .true. results in loading
                                 effects from the INTERIOR of the overlapping
                                 areas. A submode under opened file unit 34.

      WEST,NORTH       real*4    Upper left corner of the screen display
                                 (deg)                              [0.0, 90.0]

      IPXX,IPXY       integer   Pixel resolution (#/deg)                [1, 1]

      QPIC             logical   Set these parameters (else: use subroutine's
                                 defaults = extent of tide map)       [.false.]

      COLFAC        c  real*4    Amplification factor for colors (1.0 expands
                                 1 m into 16 colors)                      [1.0]

                                 Tides read with GETZM
      GCODE         c  char*4    Grid code, see below.

                                 Flather tides / global tides
      OTMODEL       c  char*32   'Flather'     - files units 21, 22 are used.
                                 'CSR' 'Eanes' - files units 23, 24 are used.

                                 'Global ...'  - file  unit  23 is used.

                                 All 'Global' models define their own land-sea
                                 mask with a missing-record data value.
                                 Non-'Global' models must be accompanied by
                                 flag files.
                                                         ['Global Schwiderski']

      GCODE         c  char*4    Grid code. The reading subroutines of the
                                 'Global' models assign a grid code. However,
                                 other input methods like GETZM require that
                                 grid codes be given explicitly. Currently
                                 known grid codes are SCHW LEPR SMHI FLAT
                                 For new grid codes, procedure
                                     ENTRY SET_GOT_AR_FOR (oteu51.f)
                                 must be extended.                     ['SCHW']

      COMMNT        c  char*32   Annotation of result on file unit 41. Recomm-
                                 ended: Short form characterizing ocean model
                                 and windowing,
                                 e.g. SoF - "Schwiderski outside Flather"

      OTPATH        c  char*32   for Schwiderski: '/vlbi/hgs/Otide/schw]'
                                 for Seiler:      '/vlbi/hgs/Otide/seil]'
                                 for Le Provost:  '/vlbi/hgs/Otide]'
                                 Specify OTMODEL='Global...'

      QPHF             logical   Read tidal phases from separate unit 24
      Q_OTFORM         logical   Read Schwiderski formatted, using ...
      OTFORM_A  _P     char*64   formats for amplitudes and phases

      QTR              logical   Trace-option for RSLOAD (olsrg01.f)   [.false.]
      Q_FFVAS          logical   For printing out field values at sites,
                                 specify true if the land/ocean flags
                                 are to be ignored                     [.false.]

      Q_LFL            logical   Read LOG1 flags                       [.true.]
      Q_FLF            logical   Flag file is formatted (else: binary)[.false.]
      Q_FLGFLIP        logical   Flip flags 0 <-> 1                   [.false.]
      FLIP_FLAGS(4)    integer   flip strategy for flgflip (oteu013B.f):
                                 if FLIP_FLAGS(1) <= flag <= FLIP_FLAGS(2)
                                   then flag =  FLIP_FLAGS(3)
                                   else flag =  FLIP_FLAGS(4) endif.
                                 Default is for inversion:            [1,1,0,1]

      ACTIVE_FLAGS     char*9    Target flags for OTSCALE and ZOTADD
                                 Meaningful: S A L, right delimiter ]   ['SA]']

      Q_RWD         c  logical   Rewind before array input under
                                 GETZM/GETRM(23,...)                  [.false.]
      Q_REVO        c  logical   Reverse order (North-to-south)
                                 loading array.                       [.false.]

                                 Special for CSR / EANES tides:
      CSR_OPT       c  char*8    String passed as the Option in call GETCSR,
                                 'S' - subtract the loading field (since it's
                                       a geocentric tide).
      CSR_TV           char*8    Version number for tide file         ['_2.0]']
      CSR_LV           char*8    Version number for load file         ['_2.0]']

                                 Model dumps
                                 See also DUMPS above.
      IU_OUTZM_F       integer   Dump formatted: file unit number          [-1]
      IU_OUTZM_U       integer   Dump binary:    file unit number          [-1]
      Q_PACKED_OUTZM   logical   Dump packed arrays                    [.true.]
      Q_PACKED_GETZM   logical   Get packed arrays (would not unpack
                                 already unpacked arrays; but a not
                                 packed array that happens to have
                                 only one row requires
                                 a .false. value here.)                [.true.]

Back  to top

  (2)   Open File block:
See openf manual page for coding open-file records

     Unit   Use
      11    Site records. Instructions c.f. ols06.f or II. below

     (21)   (optional)  Flather tides (CALL PACKED_GETZM),
                        e.g. C:\BIGDATA\FLATM2.DAT
                        This file unit will be automatically opened and closed
                        if commands like  TIDE O1 M=Flather X=.dat  are given.
     (22)   (conditional) Flather land/sea flags e.g. Bigdata/Otide/Flat.flg

     (23)   Case  &forms OTMODEL='Global...' (Schwiderski, Seiler,...)
            equivalent command M='Global...' (Schwiderski, Seiler,...):
            Unit 23 is opened from within subroutine GETGOT.
            Don't open unit 23 here !

      24    Case  &forms OTMODEL='...CSR'|'GETZM'|'GETRM'
            equivalent command M='...CSR'|'GETZM'|'GETRM'
            Land/sea flags for CSR tides or accompanying array input.

      33    (optional)  Flag array for a plane grid model and Common /CAREA/
                        (e.g. D:\OTEQ\MDL08\FLZU.DAT)
                        Do not open 34 !
      34    (optional)  Overlap weights for the primary ocean model
                        due to overlay of the regional model area. E.g.:
                        D:\OLOAD\M8FGWA.DAT  for  MDL08 overlay Flather
                        D:\OLOAD\M8GWA.DAT   for  MDL08 overlay Schwiderski
                        Do not open 33 !

      41    (optional)  output of results, similar format like OTEQ\OTEM07.f

      42    (optional)  collects results in the BLQ-format, complete.

      43    (optional)  like 42, results marked "Yet incomplete",
                                 i.e. an XCPT table was produced.

      44    (optional)  XCPT = exception table
      48    (optional)  Output. Interpolated load field values at the sites
                        and their gradients. Meaningful only in cases
                        where sites are in water or in air pressure loading.
                        Available only under GETZM/GETRM input. The values saved
                        are in the units of the file input (i.e. before otscale
                      is applied). The gradients are in those units per rad

                               dx_out = zdx*resx/cylat/rad/re
                               dy_out =-zdy*resy/rad/re
                                                      where zdx, zdy are in the units of differences between adjacent
                        grid points

       49    Used under CMC command. Centre of mass corrections.

     IOUT    Site results for the protocol. [Default 6], IOUT can be changed in
                        Namelist &forms to an unused file unit not listed
                        above (like 45).

  (You see from the MS-DOS formats that some features haven't been that
  important; we've been on the unix for almost four years now.)


  (3)   Site records if file 11 is not opened.
       (c.f. instructions below)

Back  to top


  (4)   Command and parameters etc.[defaults]:
   Recognized code is written in dark red. Commands must start in column 1.
       GREEN C=component F=Greens_file -XCPT
            Default component code is RADIAL
            XCPT like under TIDE below

            In olss the component code is STRA; specification is optional.
            All three actual strain components (NN-S XX-S projected to
            Enn Eee and Ene) will be computed in one call to RSLOAD_STRAIN.

       TESTN_test_areas, Msize[360] ,Nsize[180]
            Following N_test_areas records of area corners and tide value:
            I1,J1, I2,J2, Z

       ORTHO [nn  nn  nn ... $]
            to process CSR OrthoWeight file (R.Eanes). Resets default OTscale = 0.1
            The 6 default "tides" are A1  B1  C1 (diurnal) A2  B2  C2 (semidiurnal)

       NOORTHO[nn  nn  nn ... $]
            to process conventional tides. Default OTscale = 1.0
            The 11 default tides are M2  S2  N2  K2  K1  O1  P1  Q1  MF  MM  SSA $
            That's the default mode.
       TIDEsymbF=OTpath           /   [&forms otpath ['Bigdata/Otide/schw]']]
               M=OTmodel          /   [Global Schwiderski]
               S=OTscale          /   [&forms otscale    [1.0] reset by ORTHO: 0.1]
               O=OTopt            /   [ ]  (one blank)
               X=OTfext           /   [?]
               C=OTcode           /   [&forms OTmodel ['Global Schwiderski']]
               V=OTversion        /
               A=SCLvalue         /   [&forms colfac     [1.0]]
               G=gridcode         /   [&forms gcode   ['    ']]
              HR=resolution       /   [&forms n_hires     [10]]
             HRD=HR-distance      /   [&forms crtdis    [10.0]]
               +CMIB   -CMIB      /   [&forms q_cmib  [.true.]]
               +Rwd    -Rwd       /   [&forms q_rwd  [.false.]]
               +REVO   -REVO      /   [&forms q_revo [.false.]]
               +NZR    -NZR       /
               -XCPT              /
               +QOF    -QOF       /   [&forms q_ocean_function [.false.]]
              SH=n,m              /   [&forms n_sh, m_sh  [0,0]]


                                     TIDE M2 F=/vlbi/hgs/Otide/lepr]         /
                                       M=Global_LeProvost  X=.dat      /

                                       [&forms parameter [value]]
                                             Namelist &forms can be used to alter the default.
                                             The wake-up default is shown as [value]
                                      /    A long line can be broken between options.
                                           Put - or / in the right-most position

           Item   Recognized  Req.  Explanation

           symb              always String, 4 chars.
                     ??            for test
                     S2            etc., Darwin symbols

                     B1            etc., orthoweight symbols (CSR, Eanes)

           OTpath                   String. Invariable part of file name or
                                     complete file name case OTmodel=GETZM
                                     e.g. /geo/hgs/Otide/schw]
           OTfext                   String. File name extension, '?' to
                                     obtain reading routine's default.
                             Flather To access Flather's models, X=.dat

           OTmodel                  String. Model input options.     Default gridcode
                Global_Schwiderski   uses GETGOT for reading               SCHW
                Global_Seiler               "                              SCHW
                Global_Ocean                "                              SCHW
                Global_Equilibrium          "                              SCHW
                Global_LeProvost         GETLEP                           LEPR
                CSR                       GETCSR    requires flag file     LEPR
                Eanes                       "           "      "    "      LEPR
                Flather                   GETFLA        "      "    "      FLAT
                GETZM                     LGETZM        "      "    "
                GETRM                     GETRM         "      "    "

           OTcode                   String, max 30 characters.
                                     Annotation printed on unit 41 result list:
                                     If unspecified, OTmodel is used.
                                     System will append _X if an exception
                                     table was produced.

           OTopt                    String. Options, to be passed to ocean tide
                                     reading routine. Presently used only in
                                     the case of the CSR models. See CSR_opt

           OTscale                  Scale factor; is multiplied with ocean tide

           OTversion                Integer. Version number for input under
                                   OTmodel = GETZM

           SCLvalue                 Real. Amplitude factor for color screen
                                     1.0 is good for M2, N2 would need 3.0.

           gridcode               SCHW LEPR FLAT SMHI
                                   This option is important in conjunction with

           resolution               The number of intervals along each
                                     direction used for near-load
                                     integration (standard is 10 meaning 10x10

           +QOF                     Replace tide with ocean function
                                     (use land mask of the tide / flag file
                                     that is input).
           SH=n,m                   Spherical harmonic degree and order

           -XCPT                    Set off exception processing for the
                                     currently defined partial tide.
                                     This option applies primarily in the case
                                     when different grids are processed in
                                     the same job and post-processing of only
                                     one of the grids is sufficient.
                                     (Preparation of exception tables for
                                     different grids must be done in different
                                     jobs.) Post-processing of LEPR or CSR
                                     tides and rough fill-in of Schwiderski
                                     long-period tides would be an example.

           +NZR -NZR                Near zone report. Equivalent to an
                                     exception table. Loads will not be skipped,

           +REVO                    Arrays read in by GETIM, GETZM or GETRM
                                     are ordered north to south. Standard is
                                     south to north with these routines.

           +WRN -WRN                Enable/disable warning messages.

           CSR_opt                  Options for reading the CSR tide models.
                                     The following text comes from p/oteu524n.f
                      - 'I': Init, open file
                        'F': Init and refresh (read file again)
                        'S': Retrieve tide and subtract loading field
                             at the same calling instance.
                        'U': Open file, refresh, subtract field from
                             supplied array z.
                        'L': Retrieve loading field.
                             Two calls, first with 'FI', second with 'LU',
                             should accomplish the same result as 'FIS'.
                       '-1': Read file "Not one chunk".
                             Is set automatically with Version 3 files, since
                             the buffer space that is allocated by this
                             procedure is notsufficient for these large files.
                             Version 2 files can be read "one chunk", which
                             is faster.
                        'O': Ignore flags; let data file availability decide
                             whether a point is land or sea.
                        'N': Nice orthoweight values: divide Z by 100.
                             (Large values will be rejected by ocean loading
                              programs since they assume data unit is metre.)
                             Applies to the ortho-partials (A1 B1 etc.) only.
                             Divide amplitudes by 10 in conjunction with admit2
                             when processing results based on this mode.
                             (We cannot divide by 1000 here since this
                              yields too small values in
                              the ocean loading output file.)

                                      N.B. The following options should never
                                      be specified in the OTopt string

       AREA west,north,east,south,1/dx,1/dy,q_global,round_x,round_y
                                      is a manual method to enter/change
                                      the global area for convolution.
                                      The model-specific input procedures
                                      are supposed to set all these parameters
                                      appropriately. Use ought to be indicated
                                      only with GETZM

       DO TIDE
             with the options above = GO + TIDE on the same line.
       READ TIDE
             with the TIDE options above: skip the loading part.
             Useful e.g. to combine with open unit 48 in order to output
             field values interpolated at the sites.

       AIRPnumber [D=date+time] F=filename /
                                            / additional options like TIDE.

                                     Evaluate air pressure loading.
                                   Number: store results in specified
                                     column (in place for a tide symbol)

            followed by a namelist block &FORMS to &END.

            followed by a file opening block.

            e.g. OPEN:19 O header.blq

       COPY [<in] out
            in and out are file unit numbers. Default in is the instruction file.
            Then the end must be indicated by a lonely <EOF

            see COPY above.

       OUT [S=factor] [C=comment] [ONLY[_APL|_NZR]=m [REAL]]

            Under TIDE: Output BLQ records using put_ol_rec on file unit 42 and 43.
            The results written to file 43 are "incomplete", i.e. they require post-
            processing. Exception table will be output to file unit 44.

            OUT-commands can be continued on the next line if the current line is
            right-terminated with a lonely slash or minus, ' /' or ' -'

           S=factor               factor see BLQAMF (namelist &forms)

           C=comment                Comment is written on the blq-records

           ONLY_NZR=m               Output only the Near Zone Report (file
                                     unit 44 = the unit for the exception
                                     table). m = number of tide fields.
                                     In the case of daily processing of air
                                     pressure fields at six hours interval m=4.

           ONLY_APL                 to output pressure loading result
                                     --- under construction ---

           REAL                     to process real-valued results, as in the
                                     case of air pressure.

       OUTS [F=[format]] [P=path] [REAL|CMPX]
  also OUTTS
            Under AIRP: Output time series results(air pressure loading effects)
            to files with internally generated names.

            Formatted   output to    outspath//site//'_apl.tsf'

            Unformatted output to    outspath//site//'_apl.tsu'

            File unit number is taken from   &forms iuapl                   [42]

            OUTS-commands can be continued on the next line if the current line is
            right-terminated with a lonely slash or minus, ' /' or ' -'

           F=format  [REAL|CMPX]    Format for a short (tide-)symbol (string),
                                     a date string, and three real (three
                                     complex) values
                                                               [&forms fmtapl]
                                       [data fmtapl/'(a4,1x,a,3(2x,2f10.5))'/]
           F=                       For binary output.           [&forms qfm]

           P=path                   Prepending string for internally
                                     generated file names.   [&forms outspath]

           REAL   CMPX              Type of output data          [&forms qre]

   N.B.: Neither OUTS under TIDE nor OUT under AIRP is particularly meaningfull.

            do the CMC-computations. Output on file unit 49.
            Preferably to be opened with append (OPENF option A)
            The output consists of the spherical harmonic coefficients
            of degree one (math normalisation), spherical harmonic order is
           column number minus one (order 0,1,2)

                       do the load computations

       GO #number
                       do the load computations and store results in the
                       specified column. In the case of tides this is done
                       according to the &forms TIDES (or ORTHOS) string.
       RA            Random tide access, interpolate ocean/loading field at sites

                       File on unit 48 must be opened.
       CLOSEiun [+E]  Close. Option '+E': Issue endfile before.



  End olfg.ins
Back  to top


  Site records                         Site specific options
  ============                         =====================
  Site specific processing options may be entered in the site file (unit 11).
  Typically, a record may read

  -/ LN=50103S010 CANBERRA, VLBI]  /
  -/ -WS +H GH=15.0
  0004 CANBERRA  1545         -4460935.2500   2682765.7100  -3674381.4020  -> XC

  where -/ or -> mark the beginning of the option part of the site record(s)
  and a terminating / designates a continuation line.

  In the example,
  the LN= option designates a long site name. It is right-delimited by ].
  The XC option enables exception table processing; i.e. the local coastline
  can be refined in a post-processing step, using program OLMPP.
  The -WS option would cause an ocean cell to be skipped if were too close to
  the site. (This would only have an effect without the XC option, so you
  wouldn't choose these two options together.)
  The +H option will request site altitude determination.
  The GH= option specifies the local geoid height.

  Most options in the site file deal with format matters. The following options
  however, set parameters for the load convolution part:

            +H  -H  - Enable / disable site altitudes
                        Must be set in order to obtain site coordinates
                        with altitude. This is significant for ocean
                        loading effects in gravity. It is considered to have
                        no effect on displacement components.
                        N.B.: Namelist parameter crtalt sets the critical

           GH=geoid - Specify geoid height above ellipsoid for this site.
                        Together with +H and ellipsoidal heights / XYZ
                        coordinates and gravity component, command
                        GREEN C=GRAV.

      +WS -WS  WS=x,y - "Wet sites". Include (+) or skip (-) wet site ocean
                        Or include, but shift the site lon (x) lat (y).

  +XC -XC XC_ON XC_OFF  Exception processing enable (+) disable (-) this site
                        or all sites (_ON _OFF)

  If you want to preamble site records with a common header, you can open the
  site file on unit 12, code the preamble after the Open file block and
  redirect input using  -/ INPUT=12

Manual page for site records / ols06.f

  Example -------------------------------------------------------------------

 otpath='Otide/schw] '
 otmodel='schw] '
 commnt=' '
12 B ~/Calc/CONT94-95.xyz
41 B schw/schw_l.rsl
42 B schw/schw_l_c.blq
43 B schw/schw_l_i.blq
44 B schw/schw_l.xtb
-/  +P XYZ XC_ON                                  /
-/ FMT '(4x,a8,t5,a4,t14,3d16.3)'                  /
-/ INPUT=12
GREEN  C=RADIAL F=~/mc00egbc
DO TIDE M2 M=Global_Schwiderski C=Schw A=.3
------------------------------------------------------------------ End Example
  where a line of ~/Calc/CONT94-95.xyz looks as follows

   WESTFORD  +1492206.765D0  -4458130.522D0  +4296015.481D0 3  0.318   7.8 NOAM

Example strain ---------------------------------------------------------------
 fmtin=' '
 otmodel=' '
 commnt=' '
 otpath='Bigdata/Otide/lepr] '
 ipxx=1, ipxy=1, north=90., west=180.
41 B lepr/olss.rsl                     results, olf-format
42 A lepr/olss_c.blq           results inland sites, blokq-format
43 B lepr/olss_i.blq           results coastal sites, blokq-format
44 B lepr/olss.xtb             exception table, output.
2 sites
-/ NEH XC_ON +P FMT (t17,a12,t1,a4,t34,2f10.0,f6.0)
-/ XL 6 33
-/ LN=Camborne, Gravimeter site, UK]
CAMB CAMB       CAMBORNE            50.2184   -5.3274 139.6
-/ LN=Aespoe, Deep Well, Sweden]
KAS3 KAS3       KAS03               57.4550   16.6700   0.0
GREEN  C=STRAIN F=~/mt24q5p
DO TIDE M2 M=Global_LeProvost$ C=LePr_94.1 PTM$
DO TIDE Mf  M=Global_Schwiderski$ F=Bigdata/Otide/schw] $ C=LePr_94.1 PTM$ /
DO TIDE Ssa M=Global_Equilibrium$ F=Bigdata/Otide/eqlt] $ C=LePr_94.1 PTM$ /
; units = micro-strain in BLQ-type output by default

------------------------------------------------------------------ End Example

More examples can be obtained from

Back  to top


>OF< process the ocean function

  (1) you have a flag file

  (2) you want the ocean function underlying a published
      ocean model

  (1) Namelist:     otmodel='GETZM', otpath='!SKIP!'
      or Command:   M=GETZM P=!SKIP!

  (2) (Nearly) All commands/parameters as usual. However, add
      Namelist:     Q_Ocean_Function=.true., Q_CMIB=.false.
      or Command:   +QOF -CMIB

>SH< Spherical harmonics convolved with ocean function:

     Same as >OF< ocean function, with the following addition:
     Namelist:      N_sh = #{degree}, M_sh = #{order}
     or Command:    SH=#{degree},#{order}

          Ocean function is the special case of SH=0,0

Link the programs without graphics

Put all subroutines into Oload/p/ and compile using the script fcs:
   foreach prog ( *.f )
   foreach? fcs $prog load
   foreach? end

Put main program and the include files ol??_gra?.fi into Oload/p/mpp and compile
using the scripts  fcmd -> fcmb

  fcmd olfg

In Onsala, the program has been linked with a slightly hacked version of PGPLOT and
an interface to MicroWay type graphic subroutine calls. This is a very difficult process
to recreate. The graphic part plays no essential functional role.
Therefore, the distributed version is provided with dummy include files (*.fi)
to drop the whole graphics package. This implies that olmpp is not considered as a
standard program for distribution.

The only programs that deal with graphics are the mains (olfg.f and olss.f) and the
loading subroutines (olsrg01.f and olssg01.f).

The subroutines can be compiled with the fcs script,

  fcs olsrg01 load -Inogra

And the main program is simply compiled with empty include files
residing in the same directory, olfg_gra1.fi,  olfg_gra2.fi,
(olss_gra1.fi   and   olss_gra2.fi    in the strain case).

Back  to top