source: LMDZ6/trunk/libf/phylmd/ecrad/cargs.h @ 3981

Last change on this file since 3981 was 3908, checked in by idelkadi, 3 years ago

Online implementation of the radiative transfer code ECRAD in the LMDZ model.

  • Inclusion of the ecrad directory containing the sources of the ECRAD code
    • interface routine : radiation_scheme.F90
  • Adaptation of compilation scripts :
    • compilation under CPP key CPP_ECRAD
    • compilation with option "-rad ecard" or "-ecard true"
    • The "-rad old/rtm/ecran" build option will need to replace the "-rrtm true" and "-ecrad true" options in the future.
  • Runing LMDZ simulations with ecrad, you need :
    • logical key iflag_rrtm = 2 in physiq.def
    • namelist_ecrad (DefLists?)
    • the directory "data" containing the configuration files is temporarily placed in ../libfphylmd/ecrad/
  • Compilation and execution are tested in the 1D case. The repository under svn would allow to continue the implementation work: tests, verification of the results, ...
File size: 1.6 KB
Line 
1/**
2 * (C) Copyright 2014- ECMWF.
3 *
4 * This software is licensed under the terms of the Apache Licence Version 2.0
5 * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6 *
7 * In applying this licence, ECMWF does not waive the privileges and immunities
8 * granted to it by virtue of its status as an intergovernmental organisation
9 * nor does it submit to any jurisdiction.
10 */
11
12/* cargs.h */
13
14/* prototypes for ifsaux/support/cargs.c */
15
16/* Author: Sami Saarinen, ECMWF, 27-Apr-2006 */
17
18#if defined(__cplusplus)
19extern "C" {
20#endif
21
22void ec_PutArgs(int argc, char *argv[]);
23const char *ec_GetArgs(int argno);
24int ec_NumArgs(void);
25
26/* The following two as in C-main : "int main(int argc, char *argv[])" */
27
28int ec_argc(void);
29char **ec_argv(void);
30
31/* Fortran interface */
32
33int iargc_c_(void);
34int iargc_c (void);
35
36void getarg_c_(const int *argno, char *arg
37               /* Hidden argument */
38               , const int arg_len);
39
40void getarg_c (const int *argno, char *arg
41               /* Hidden argument */
42               , const int arg_len);
43
44void putarg_c_(const int *argno, const char *arg
45               /* Hidden argument */
46               , int arg_len);
47
48void putarg_c (const int *argno, const char *arg
49               /* Hidden argument */
50               , int arg_len);
51
52void putarg_info_(const int *argc, const char *cterm
53                  /* Hidden argument */
54                  , int cterm_len);
55
56void putarg_info (const int *argc, const char *cterm
57                  /* Hidden argument */
58                  , int cterm_len);
59
60/* From ifsaux/support/cmpl_binding.F90 */
61
62void cmpl_getarg_(const int *argno, char *arg
63                  /* Hidden argument */
64                  , const int arg_len);
65
66int cmpl_iargc_(); 
67
68#if defined(__cplusplus)
69}
70#endif
Note: See TracBrowser for help on using the repository browser.