-
Notifications
You must be signed in to change notification settings - Fork 8
/
field_array_util_module.fypp
42 lines (33 loc) · 1.42 KB
/
field_array_util_module.fypp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#! (C) Copyright 2022- ECMWF.
#! (C) Copyright 2022- Meteo-France.
#!
#! This software is licensed under the terms of the Apache Licence Version 2.0
#! which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
#! In applying this licence, ECMWF does not waive the privileges and immunities
#! granted to it by virtue of its status as an intergovernmental organisation
#! nor does it submit to any jurisdiction.
MODULE FIELD_ARRAY_UTIL_MODULE
#:set fieldTypeListOT = fieldType.getFieldTypeList (hasView=True, kinds=['JPIM', 'JPLM'])
#:set fieldTypeListRM = fieldType.getFieldTypeList (hasView=True, kinds=['JPRM'])
#:set fieldTypeListRB = fieldType.getFieldTypeList (hasView=True, kinds=['JPRB'])
#:set fieldTypeListRD = fieldType.getFieldTypeList (hasView=True, kinds=['JPRD'])
#:def useAliasRB (ftlRB, ftlTA, ftlOT)
#:for fta, ftb in zip (ftlTA, ftlRB)
USE ${fta.name}$_ARRAY_UTIL_MODULE, ONLY : &
#:for method in ['LOAD', 'SAVE', 'COPY', 'WIPE', 'HOST']
& ${method}$_${ftb.name}$_ARRAY => ${method}$_${fta.name}$_ARRAY, ${method}$_${fta.name}$_ARRAY, ${method}$, &
#:endfor
& COPY
#:endfor
#:for fto in ftlOT
USE ${fto.name}$_ARRAY_UTIL_MODULE
#:endfor
#:enddef
#ifdef PARKIND1_SINGLE
$:useAliasRB (fieldTypeListRB, fieldTypeListRM, fieldTypeListRD + fieldTypeListOT)
#else
$:useAliasRB (fieldTypeListRB, fieldTypeListRD, fieldTypeListRM + fieldTypeListOT)
#endif
${fieldType.useParkind1 ()}$
IMPLICIT NONE
END MODULE