Annexe 1 : List of documents available on public ftp : cnrm-ftp.meteo.fr, under the directory /pub-aladin on the user anonymous


Annexe 2 : Major change with free-source format and implicit none statement

(more details eric.sevault++at++meteo.fr )

The next IFS/ARPEGE cycle 21 is an automatic processing of cyle 20 introducing a strong typing (through the IMPLICIT NONE usage) and the FORTRAN 90 free format.

This automatic processing will introduce the definition of KIND parameters, dedicated macros for declaration of integers and reals, and macros to replace superstar real constants.

Free format, which means that there is no more specific positions on a FORTRAN line, will drive us to more flexibility and legibility of the source code.

1. Definition of kind parameters

Kind parameters are defined in two separate modules accessible through two separate include files:

MODULE PARKIND1 - include file: stmbkind.h

MODULE PARKIND2 - include file: hugekind.h

PARKIND1 defines:

JPRT (Tiny)

JPRS (Small)

JPRM (Medium)

JPRB (Big)

PARKIND2 defines:

JPRH (Huge)

... according to "physical" precision, expressed in terms of number of significant decimal precision and range of exponent. For example, JPRB is defined in module parkind1 as following:

INTEGER, PARAMETER :: JPRB = SELECTED_REAL_KIND(13,300)

2. Definition of macros

Includes files define macros for declarations. stmbkind.h should always be included. hugekind.h only when huge precision is formally required (either you really use it or not!).

INTEGER_M, etc.

REAL_M, REAL_B, etc.

Include files define as well some "typed" macros for superstars constants,

0.0 _0T _0S _0M _0B _0H

0.5 _05T _05S _05M _05B _05H

1.0 _1T _1S _1M _1B _1H

2.0 _2T _2S _2M _2B _2H

and some "untyped" meta-macros for the default type

_ZERO_ _HALF_ _ONE_ _TWO_

_0B _05B _1B _2B by default

It means that only these macros should appear in the code in 98% of the cases.

It appears that this notation is very readable, much more than _1B, and ...probably more than 1. etc. And for initializing, if you set

ZARRAY = _ZERO_

you have the feeling that the array is *deeply* set to 0 !

3. What does the automatic processing really perform?

4. Free format.

Free format means that there is no more specific positions on a FORTRAN line.

5. What does it change for day-to-day source developpement?

_ZERO_ _HALF_ _ONE_ _TWO_

and suffix any other real constant by the required kind (eg: _JPRB)

Examples:

ZFOO = _TWO_ * MAX(ZTAB(:,J)) / 3._JPRB

Of course, an automatic processing of the code is available, so that the previous line, is directly derivated from a "hard-coded" line such as:

ZFOO = 2. * MAX(ZTAB(:,J)) / 3.

The rules for free format coding will be edicted later, but in practice, it only means that one should write more readble code... or try to do so!


Maintenance stays in 1998

Composition of phasing teams :

1997-1 : 5 experienced phasers + 3 newcomers ~ 6½

1997-2 : 7 experienced phasers 7

1998-1 : 4 experienced phasers + 2 newcomers ~ 5

1998-2 : 4 experienced phasers + 3 newcomers ~ 5½

Contributions by partner in 1998 :

number of stays partially or totally devoted to maintenance

versus

number of persons available for deported work (01-09/98)
 

Partner

Phasing

Maintenance

Deported

Austria

0

0

4

Belgium

1

1

7

Bulgaria

3

4

3

Croatia

1

1

6

Czech Rep. (LACE)

1

1

9

Hungary

0

2

9

Morocco

2

4

6

Poland

0

1

5

Portugal

0

1

4

Romania

2

3

11

Slovakia (LACE)

2

3

8

Slovenia

0

1

3

What does maintenance include ?

PHASING OPERATIONS :

- twice a year

- necessary to include the last scientific and technical developments

- necessary to ensure consistency between embedded models

- must be centralized, apart from some validation aspects

BASIC TECHNICAL DEVELOPMENTS :

- solving identified problems

- cleaning and optimization

- designing new tools

- may be deported in many cases (in principle) but coordination is required (and feedback of course)

COMMON SUPPORT TASKS :

- preparation of model grid and surface description

- actions related to verification, ...

- may be deported in many cases (in principle) but coordination is required (and feedback of course)




Home