From 6a42bb093290f8cc388c08feee0d945b9c3029bf Mon Sep 17 00:00:00 2001 From: ahheo Date: Tue, 28 Nov 2023 15:42:48 +0800 Subject: [PATCH 1/9] Resolves building issues (WRF/WRF-chem) with Intel compilers (ifx/icx) --- arch/configure.defaults | 12 +- chem/KPP/kpp/kpp-2.1/src/code.c | 5 +- chem/KPP/kpp/kpp-2.1/src/code.h | 19 +- chem/KPP/kpp/kpp-2.1/src/code_c.c | 5 +- chem/KPP/kpp/kpp-2.1/src/code_f77.c | 2 +- chem/KPP/kpp/kpp-2.1/src/code_f90.c | 2 +- chem/KPP/kpp/kpp-2.1/src/code_matlab.c | 3 +- chem/KPP/kpp/kpp-2.1/src/gdata.h | 8 +- chem/KPP/kpp/kpp-2.1/src/gen.c | 47 +++-- chem/KPP/kpp/kpp-2.1/src/gen_org.c | 2 +- chem/KPP/kpp/kpp-2.1/src/kpp.c | 2 +- chem/KPP/kpp/kpp-2.1/src/scan.h | 29 ++- chem/KPP/kpp/kpp-2.1/src/scan.l | 3 +- chem/KPP/kpp/kpp-2.1/src/scan.y | 8 +- chem/KPP/util/wkc/Makefile | 2 +- chem/KPP/util/wkc/change_chem_Makefile.c | 6 +- chem/KPP/util/wkc/compare_kpp_to_species.c | 2 +- chem/KPP/util/wkc/gen_kpp.c | 197 +++++++++--------- .../util/wkc/gen_kpp_args_to_Update_Rconst.c | 2 +- chem/KPP/util/wkc/gen_kpp_interf_utils.c | 27 +-- chem/KPP/util/wkc/gen_kpp_interface.c | 3 +- chem/KPP/util/wkc/gen_kpp_mech_dr.c | 5 +- chem/KPP/util/wkc/gen_kpp_utils.c | 18 +- chem/KPP/util/wkc/get_kpp_chem_specs.c | 4 +- chem/KPP/util/wkc/get_wrf_jvals.c | 1 + chem/KPP/util/wkc/get_wrf_radicals.c | 1 + chem/KPP/util/wkc/kpp_data.c | 2 +- chem/KPP/util/wkc/protos_kpp.h | 54 ++--- chem/KPP/util/wkc/registry_kpp.c | 2 +- chem/KPP/util/write_decomp/integr_edit.c | 2 + compile | 6 +- external/RSL_LITE/buf_for_proc.c | 5 +- external/RSL_LITE/c_code.c | 12 ++ external/RSL_LITE/cycle.c | 6 +- external/RSL_LITE/gen_comms.c | 3 + external/RSL_LITE/period.c | 8 +- external/RSL_LITE/rsl_bcast.c | 163 ++++++++------- external/RSL_LITE/rsl_lite.h | 17 ++ external/RSL_LITE/rsl_malloc.c | 2 + external/RSL_LITE/swap.c | 7 +- external/RSL_LITE/task_for_point.c | 5 +- external/io_grib1/MEL_grib1/FTP_getfile.c | 7 + external/io_grib1/MEL_grib1/gribfuncs.h | 12 +- external/io_grib1/MEL_grib1/gribgetbds.c | 1 + external/io_grib1/MEL_grib1/gribhdr2file.c | 7 + external/io_grib1/MEL_grib1/init_enc_struct.c | 1 + external/io_grib1/MEL_grib1/init_gribhdr.c | 1 + external/io_grib1/MEL_grib1/init_struct.c | 1 + external/io_grib1/MEL_grib1/ld_enc_input.c | 1 + external/io_grib1/MEL_grib1/ld_enc_lookup.c | 2 +- .../io_grib1/MEL_grib1/ld_grib_origctrs.c | 9 +- external/io_grib1/MEL_grib1/map_lvl.c | 2 + external/io_grib1/MEL_grib1/map_parm.c | 1 + external/io_grib1/MEL_grib1/prt_badmsg.c | 1 + external/io_grib1/MEL_grib1/prt_inp_struct.c | 1 + external/io_grib1/MEL_grib1/set_bytes.c | 1 + .../io_grib1/MEL_grib1/upd_child_errmsg.c | 1 + external/io_grib1/grib1_routines.c | 10 +- external/io_grib1/grib1_util/read_grib.c | 9 +- external/io_grib1/grib1_util/read_grib.h | 1 + external/io_grib1/grib1_util/write_grib.c | 69 +++--- external/io_grib1/gribmap.c | 2 + external/io_grib1/gribmap.h | 2 +- external/io_grib1/trim.c | 1 + external/io_grib1/trim.h | 2 + external/io_grib_share/get_region_center.c | 1 + external/io_grib_share/open_file.c | 4 + frame/pack_utils.c | 2 + tools/Makefile | 2 +- tools/gen_config.c | 1 + tools/gen_interp.c | 6 +- tools/gen_irr_diag.c | 9 +- tools/gen_streams.c | 2 + tools/gen_wrf_io.c | 2 +- tools/misc.c | 2 + tools/protos.h | 64 ++++++ tools/reg_parse.c | 7 +- tools/sym.c | 74 +++---- tools/sym.h | 4 +- tools/symtab_gen.c | 33 +-- 80 files changed, 653 insertions(+), 414 deletions(-) create mode 100644 external/io_grib1/trim.h diff --git a/arch/configure.defaults b/arch/configure.defaults index aed98042a2..e3d0fdcbaf 100644 --- a/arch/configure.defaults +++ b/arch/configure.defaults @@ -304,12 +304,12 @@ DESCRIPTION = INTEL ($SFC/$SCC) DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -qopenmp -fpp -auto -OMPCC = # -qopenmp -fpp -auto -SFC = ifort -SCC = icc -CCOMP = icc -DM_FC = mpif90 -f90=$(SFC) -DM_CC = mpicc -cc=$(SCC) +OMPCC = # -qopenmp +SFC = ifx # ifort +SCC = icx # icc +CCOMP = icx # icc +DM_FC = mpiifx #mpif90 -f90=$(SFC) +DM_CC = mpiicx #mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) diff --git a/chem/KPP/kpp/kpp-2.1/src/code.c b/chem/KPP/kpp/kpp-2.1/src/code.c index a628eabb5a..467e9eb462 100755 --- a/chem/KPP/kpp/kpp-2.1/src/code.c +++ b/chem/KPP/kpp/kpp-2.1/src/code.c @@ -32,6 +32,7 @@ #include "gdata.h" #include "code.h" +#include "scan.h" #include #include #include @@ -193,7 +194,7 @@ char *p; p = outBuf; while( *p ) *p++ &= ~0x80; - fprintf( currentFile, outBuf ); + fprintf( currentFile, "%s", outBuf ); outBuffer = outBuf; *outBuffer = 0; } @@ -205,7 +206,7 @@ char *p; p = buf; while( *p ) *p++ &= ~0x80; - fprintf( currentFile, buf ); + fprintf( currentFile, "%s", buf ); } void WriteDelim() diff --git a/chem/KPP/kpp/kpp-2.1/src/code.h b/chem/KPP/kpp/kpp-2.1/src/code.h index a40de2de3f..964637c01b 100755 --- a/chem/KPP/kpp/kpp-2.1/src/code.h +++ b/chem/KPP/kpp/kpp-2.1/src/code.h @@ -34,6 +34,7 @@ #define _CODE_H_ #include +#include #include "gdef.h" #define MAX_DEPTH 10 @@ -167,10 +168,10 @@ void CommentFncBegin( int f, int *vars ); void CommentFunctionBegin( int f, ... ); void CommentFunctionEnd( int f ); -void Use_C(); -void Use_F(); -void Use_F90(); -void Use_MATLAB(); +void Use_C( char *rootFileName ); +void Use_F( char *rootFileName ); +void Use_F90( char *rootFileName ); +void Use_MATLAB( char *rootFileName ); extern void (*WriteElm)( NODE *n ); extern void (*WriteSymbol)( int op ); @@ -188,4 +189,14 @@ extern void (*FunctionEnd)( int f ); void WriteDelim(); +/* >>> CL: code_matlab.c */ +extern void MATLAB_Inline( char *fmt, ... ); +/* >>> CL: code_F90.c */ +extern void F90_Inline( char *fmt, ... ); +/* >>> CL: code_F77.c */ +extern void F77_Inline( char *fmt, ... ); +/* >>> CL: gen.c */ +extern int EqnString( int eq, char * buf ); +/* <<< CL */ + #endif diff --git a/chem/KPP/kpp/kpp-2.1/src/code_c.c b/chem/KPP/kpp/kpp-2.1/src/code_c.c index 64deef20a3..ee9b1d0356 100755 --- a/chem/KPP/kpp/kpp-2.1/src/code_c.c +++ b/chem/KPP/kpp/kpp-2.1/src/code_c.c @@ -32,6 +32,7 @@ #include "gdata.h" #include "code.h" +#include "scan.h" #include #define MAX_LINE 120 @@ -366,7 +367,7 @@ char dummy_val[100]; /* used just to avoid strange behaviour of case CONST: bprintf("#define %-20s %-10s ", var->name, val ); break; default: - printf( "Invalid constant", var->type ); + printf( "Invalid constant %d", var->type ); break; } if( varTable[ v ]->comment ) @@ -484,7 +485,7 @@ char buf[ 1000 ]; FlushBuf(); } -void Use_C() +void Use_C( char *rootFileName ) { WriteElm = C_WriteElm; WriteSymbol = C_WriteSymbol; diff --git a/chem/KPP/kpp/kpp-2.1/src/code_f77.c b/chem/KPP/kpp/kpp-2.1/src/code_f77.c index ce8b1e5fe7..e1f4de6921 100755 --- a/chem/KPP/kpp/kpp-2.1/src/code_f77.c +++ b/chem/KPP/kpp/kpp-2.1/src/code_f77.c @@ -529,7 +529,7 @@ char buf[ 1000 ]; } /*************************************************************************************************/ -void Use_F() +void Use_F( char *rootFileName ) { WriteElm = F77_WriteElm; WriteSymbol = F77_WriteSymbol; diff --git a/chem/KPP/kpp/kpp-2.1/src/code_f90.c b/chem/KPP/kpp/kpp-2.1/src/code_f90.c index 5bd7ec6ea9..47a7673eaa 100755 --- a/chem/KPP/kpp/kpp-2.1/src/code_f90.c +++ b/chem/KPP/kpp/kpp-2.1/src/code_f90.c @@ -699,7 +699,7 @@ char buf[ 1000 ]; } /*************************************************************************************************/ -void Use_F90() +void Use_F90( char *rootFileName ) { WriteElm = F90_WriteElm; WriteSymbol = F90_WriteSymbol; diff --git a/chem/KPP/kpp/kpp-2.1/src/code_matlab.c b/chem/KPP/kpp/kpp-2.1/src/code_matlab.c index 9b99b869c4..f9b5ab71ab 100755 --- a/chem/KPP/kpp/kpp-2.1/src/code_matlab.c +++ b/chem/KPP/kpp/kpp-2.1/src/code_matlab.c @@ -32,6 +32,7 @@ #include "gdata.h" #include "code.h" +#include "scan.h" #include #include @@ -673,7 +674,7 @@ char buf[ 1000 ]; } /*************************************************************************************************/ -void Use_MATLAB() +void Use_MATLAB( char *rootFileName ) { WriteElm = MATLAB_WriteElm; WriteSymbol = MATLAB_WriteSymbol; diff --git a/chem/KPP/kpp/kpp-2.1/src/gdata.h b/chem/KPP/kpp/kpp-2.1/src/gdata.h index a9dbf1af73..3e54c689ac 100755 --- a/chem/KPP/kpp/kpp-2.1/src/gdata.h +++ b/chem/KPP/kpp/kpp-2.1/src/gdata.h @@ -36,9 +36,9 @@ #include -#define MAX_EQN 1200 /* mz_rs_20050130 */ -#define MAX_SPECIES 500 /* mz_rs_20050130 */ -#define MAX_SPNAME 30 +#define MAX_EQN 50000 /* 1200 *//* CL *//* mz_rs_20050130 */ +#define MAX_SPECIES 10000 /* 500 *//* CL *//* mz_rs_20050130 */ +#define MAX_SPNAME 50 /* 30 *//* CL */ #define MAX_IVAL 40 /* MAX_EQNTAG = max length of equation ID in eqn file */ #define MAX_EQNTAG 32 @@ -196,7 +196,7 @@ void CmdDriver( char *cmd ); void CmdRun( char *cmd ); void CmdStochastic( char *cmd ); -void Generate(); +void Generate( char *rootFileName ); char * FileName( char *name, char* env, char *dir, char *ext ); diff --git a/chem/KPP/kpp/kpp-2.1/src/gen.c b/chem/KPP/kpp/kpp-2.1/src/gen.c index e80e685e43..bff24e1542 100755 --- a/chem/KPP/kpp/kpp-2.1/src/gen.c +++ b/chem/KPP/kpp/kpp-2.1/src/gen.c @@ -30,6 +30,8 @@ ******************************************************************************/ +#include +#include #include "gdata.h" #include "code.h" #include "scan.h" @@ -610,11 +612,12 @@ char buf1[100], buf2[100]; if( VarNr == 0 ) return; if (useLang != MATLAB_LANG) /* Matlab generates an additional file per function */ - - if ( useWRFConform ) - UseFile( integratorFile ); - else - UseFile( functionFile ); + { + if ( useWRFConform ){ + UseFile( integratorFile );} + else{ + UseFile( functionFile ); } + } if ( useWRFConform ) { @@ -756,11 +759,12 @@ char buf1[100], buf2[100]; if( VarNr == 0 ) return; if (useLang != MATLAB_LANG) /* Matlab generates an additional file per function */ - - if ( useWRFConform ) - UseFile( integratorFile ); - else - UseFile( functionFile ); + { + if ( useWRFConform ) { + UseFile( integratorFile ); } + else { + UseFile( functionFile ); } + } if ( useWRFConform ) { @@ -1099,12 +1103,14 @@ char buf1[100], buf2[100]; if (useJacobian == JAC_OFF) return; if (useLang != MATLAB_LANG) /* Matlab generates an additional file per function */ + { + + if ( useWRFConform ){ + UseFile( integratorFile );} + else { + UseFile( jacobianFile );} + } - if ( useWRFConform ) - UseFile( integratorFile ); - else - UseFile( jacobianFile ); - if ( useWRFConform ){ sprintf( buf1, "%s_Jac_SP", rootFileName ); Jac_SP = DefFnc( buf1, 4, @@ -1932,7 +1938,7 @@ char buf1[100]; sprintf( buf1, "%s_KppSolve", rootFileName ); }else{ UseFile( linalgFile ); - sprintf( buf1, "KppSolve", rootFileName ); + sprintf( buf1, "%s_KppSolve", rootFileName ); } SOLVE = DefFnc( buf1, 2, "sparse back substitution"); @@ -2165,7 +2171,8 @@ int UPDATE_RCONST; F77_Inline(" INCLUDE '%s_Global.h'", rootFileName); MATLAB_Inline("global SUN TEMP RCONST"); - if ( (useLang==F77_LANG) ) +/* if ( (useLang==F77_LANG) ) *//*commented to suppress warning*/ + if ( useLang==F77_LANG ) IncludeCode( "%s/util/UserRateLaws_FcnHeader", Home ); NewLines(1); @@ -3380,14 +3387,14 @@ case 't': break; default: - printf("\n Unrecognized option '%s' in GenerateF90Modules\n", where); + printf("\n Unrecognized option '%c' in GenerateF90Modules\n", where); break; } } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ -void Generate() +void Generate( char *rootFileName ) { int i, j; int n; @@ -3414,7 +3421,7 @@ int n; break; case MATLAB_LANG: Use_MATLAB( rootFileName ); break; - default: printf("\n Language no '%s' unknown\n",useLang ); + default: printf("\n Language no '%d' unknown\n",useLang ); } printf("\nKPP is initializing the code generation."); InitGen(); diff --git a/chem/KPP/kpp/kpp-2.1/src/gen_org.c b/chem/KPP/kpp/kpp-2.1/src/gen_org.c index aef1585162..5b6338fdde 100755 --- a/chem/KPP/kpp/kpp-2.1/src/gen_org.c +++ b/chem/KPP/kpp/kpp-2.1/src/gen_org.c @@ -3075,7 +3075,7 @@ case 't': /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ -void Generate() +void Generate( char *rootFileName ) { int i, j; int n; diff --git a/chem/KPP/kpp/kpp-2.1/src/kpp.c b/chem/KPP/kpp/kpp-2.1/src/kpp.c index 22d2fd68df..4343a4e51b 100755 --- a/chem/KPP/kpp/kpp-2.1/src/kpp.c +++ b/chem/KPP/kpp/kpp-2.1/src/kpp.c @@ -457,7 +457,7 @@ for (i=0; i +#include #include "gdef.h" /* mz_rs_20050518+ value increased */ -#define MAX_INLINE 30000 +#define MAX_INLINE 50000 /* 30000 *//* CL further increased */ /* #define MAX_INLINE 4000 */ /* mz_rs_20050518- */ @@ -97,7 +98,7 @@ void WriteSpecies(); void WriteMatrices(); void WriteOptions(); -void yyerror() ; +void yyerror( char * str ) ; void ParserErrorMessage() ; char * AppendString( char * s1, char * s2, int * len, int addlen ); @@ -107,4 +108,28 @@ void AddInlineCode( char * context, char * code ); int yyerrflag ; #endif +/* >>> CL: scanner.c */ +extern void CmdStoicmat( char *cmd ); +extern void CheckAll(); +extern void LookAtAll(); +extern void TransportAll(); +extern void DefineInitializeNbr( char *cmd ); +extern void DefineXGrid( char *cmd ); +extern void DefineYGrid( char *cmd ); +extern void DefineZGrid( char *cmd ); +extern void SparseData( char *cmd ); +extern void AddUseFile( char *fname ); +extern void WRFConform(); +extern int ParseEquationFile( char * filename ); + +/* >>> CL: scan.l */ +extern int EqNoCase( char *s1, char *s2 ); + +/* >>> CL: scan.y */ +extern int yylex(void); +/* <<< CL */ + +/* <<< CL */ + + #endif diff --git a/chem/KPP/kpp/kpp-2.1/src/scan.l b/chem/KPP/kpp/kpp-2.1/src/scan.l index 84a74e2ff8..ed2c3edc43 100755 --- a/chem/KPP/kpp/kpp-2.1/src/scan.l +++ b/chem/KPP/kpp/kpp-2.1/src/scan.l @@ -30,7 +30,6 @@ ******************************************************************************/ - %s CMD_STATE INC_STATE MOD_STATE INT_STATE %s PRM_STATE DSP_STATE SSP_STATE INI_STATE EQN_STATE EQNTAG_STATE %s RATE_STATE LMP_STATE CR_IGNORE SC_IGNORE ATM_STATE LKT_STATE INL_STATE @@ -43,7 +42,7 @@ #include "scan.h" #include "y.tab.h" - void*malloc() ; +// void*malloc() ; void Include ( char * filename ); int EndInclude(); diff --git a/chem/KPP/kpp/kpp-2.1/src/scan.y b/chem/KPP/kpp/kpp-2.1/src/scan.y index 0ff3ae3d5c..63c72b9fda 100755 --- a/chem/KPP/kpp/kpp-2.1/src/scan.y +++ b/chem/KPP/kpp/kpp-2.1/src/scan.y @@ -38,6 +38,7 @@ #include #include #include "scan.h" + #include "gdata.h" #define __YYSCLASS @@ -45,7 +46,7 @@ extern char yytext[]; extern FILE * yyin; /* extern int yyerrstatus; */ - + int nError = 0; int nWarning = 0; @@ -65,7 +66,10 @@ %} %union{ - char str[80]; +/* >>> CL: debug */ +/* char str[80]; */ + char str[500]; +/* <<< CL */ }; %token JACOBIAN DOUBLE FUNCTION DEFVAR DEFRAD DEFFIX SETVAR SETRAD SETFIX diff --git a/chem/KPP/util/wkc/Makefile b/chem/KPP/util/wkc/Makefile index 86954eb2a3..fd315b72f3 100644 --- a/chem/KPP/util/wkc/Makefile +++ b/chem/KPP/util/wkc/Makefile @@ -6,7 +6,7 @@ include ../../configure.kpp CFLAGS = #-ansi LDFLAGS = -DEBUG = -g +DEBUG = -O0 #-g OBJ = registry_kpp.o my_strtok.o data.o type.o misc.o reg_parse.o \ gen_kpp.o get_wrf_chem_specs.o gen_kpp_mech_dr.o gen_kpp_interface.o \ get_kpp_chem_specs.o compare_kpp_to_species.o get_wrf_radicals.o \ diff --git a/chem/KPP/util/wkc/change_chem_Makefile.c b/chem/KPP/util/wkc/change_chem_Makefile.c index cf3226b58a..1b2676cb7c 100644 --- a/chem/KPP/util/wkc/change_chem_Makefile.c +++ b/chem/KPP/util/wkc/change_chem_Makefile.c @@ -1,4 +1,6 @@ #include +#include +#include #include "protos.h" @@ -8,7 +10,7 @@ -int +void change_chem_Makefile ( ) { knode_t * p1, * p2, * pm1; @@ -45,7 +47,7 @@ knode_t * p1, * p2, * pm1; while ( fgets ( inln , NAMELEN , ch_Makefile ) != NULL ){ /* printf("%s ", inln ); */ - fprintf(t_Makefile, inln); + fprintf(t_Makefile, "%s", inln); /* if ( strncmp(inln, "MODULES",6) == 0){ */ diff --git a/chem/KPP/util/wkc/compare_kpp_to_species.c b/chem/KPP/util/wkc/compare_kpp_to_species.c index 8a6151148c..bd492327f1 100644 --- a/chem/KPP/util/wkc/compare_kpp_to_species.c +++ b/chem/KPP/util/wkc/compare_kpp_to_species.c @@ -72,7 +72,7 @@ compare_kpp_to_species ( char * kpp_dirname) for ( p1 = KPP_packs ; p1 != NULL ; p1 = p1->next ) { p2 = p1->assoc_wrf_pack; - printf(" ... testing %s %s\n",p1, p2 ); + printf(" ... testing %s %s\n",p1->name, p2->name ); if ( p2 ) { fprintf(stderr, "\n \n FOUND match between WRF-Chem/KPP for mechanism: %s \n", p2->name); diff --git a/chem/KPP/util/wkc/gen_kpp.c b/chem/KPP/util/wkc/gen_kpp.c index 85346c0f59..d40c71c24b 100644 --- a/chem/KPP/util/wkc/gen_kpp.c +++ b/chem/KPP/util/wkc/gen_kpp.c @@ -62,102 +62,7 @@ in ~WRF: chem/KPP/util/wkc/registry_kpp Registry/Registry */ -int -gen_kpp ( char * inc_dirname, char * kpp_dirname ) -{ - - - - /* put chem compound names defined in Registry into linked list WRFC_packs */ - - if ( DEBUGR == 1 ) printf("next: get_wrf_chem_specs \n"); - get_wrf_chem_specs () ; - if ( DEBUGR == 2 ) write_list_to_screen( WRFC_packs ) ; - - - - - /* put radical names defined in Registry into linked list WRFC_radicals */ - - if ( DEBUGR == 1 ) printf("next: get_wrf_radicals \n"); - get_wrf_radicals () ; - if ( DEBUGR == 2 ) write_list_to_screen( WRFC_radicals ) ; - - - /* put photolysis rates defined in Registry into linked list WRFC_jvals */ - - if ( DEBUGR == 1 ) printf("next: get_wrf_jvals \n"); - get_wrf_jvals () ; - if ( DEBUGR == 2 ) write_list_to_screen( WRFC_jvals ) ; - - - /* read KPP species files and put compound names into linked list KPP_packs */ - if ( DEBUGR == 1 ) printf("next: get_kpp_chem_specs \n"); - get_kpp_chem_specs ( kpp_dirname ) ; - if ( DEBUGR == 2 ) {write_list_to_screen( KPP_packs ) ;} - - - - - - /* define pointer from each KPP package to corresponding WRF-Chem chemistry package and check whether variable names are consistent. If *_wrfkpp.equiv file exists in KPP directory use it for name matching */ - - - if ( DEBUGR == 1 ) printf("next: compare_kpp_to_species \n"); - compare_kpp_to_species ( kpp_dirname ); - - - - - - /* write some output to screen */ - if ( DEBUGR == 1 ) printf("next: screen_out \n"); - screen_out( ); - - - /* make sure that wrf and kpp variables match and stop if not. */ - if ( DEBUGR == 1 ) printf("next: check_all \n"); - check_all ( kpp_dirname ); - - - - /* add the kpp generated modules to the Makefile in the chem directory */ - if ( DEBUGR == 1 ) printf("next: change_chem_Makefile \n"); - change_chem_Makefile ( ); - - - - - /* write the mechanism driver */ - if ( DEBUGR == 1 ) printf("next: gen_kpp_mechanism_driver (writing chem/kpp_mechanism_driver.F) \n"); - gen_kpp_mechanism_driver ( ); - - - if ( DEBUGR == 1 ) printf("next: gen_call_to_kpp_mechanism_driver (writing inc/call_to_kpp_mech_drive.inc) \n"); - gen_kpp_call_to_mech_dr ( ); - - - /* write arguments for call to KPPs Update_Rconst */ - if ( DEBUGR == 1 ) printf("next: gen_kpp_args_to_Update_Rconst (writing inc/args_to_update_rconst.inc and inc/ +#include +#include #include "protos.h" @@ -6,7 +8,7 @@ #include "kpp_data.h" -int +void decl_misc ( FILE * ofile ) { @@ -42,7 +44,7 @@ decl_misc ( FILE * ofile ) fprintf(ofile," \n\n\n\n "); } -int +void decl_jv ( FILE * ofile ) { int n; @@ -73,7 +75,7 @@ count_members( knode_t * nl ) -int +void decl_jv_pointers ( FILE * ofile ) { knode_t * pl; @@ -103,7 +105,7 @@ decl_jv_pointers ( FILE * ofile ) } -int +void gen_map_jval ( FILE * ofile ) { knode_t * pl; @@ -126,8 +128,7 @@ gen_map_jval ( FILE * ofile ) - -int +void gen_map_wrf_to_kpp ( FILE * ofile, knode_t * nl ) { knode_t * pml; @@ -154,7 +155,7 @@ gen_map_wrf_to_kpp ( FILE * ofile, knode_t * nl ) -int +void gen_map_kpp_to_wrf ( FILE * ofile, knode_t * nl ) { knode_t * pml; @@ -180,7 +181,7 @@ gen_map_kpp_to_wrf ( FILE * ofile, knode_t * nl ) } -int +void gen_kpp_pargs( FILE * ofile, knode_t * nl ) { knode_t * pml; @@ -217,7 +218,7 @@ gen_kpp_pargs( FILE * ofile, knode_t * nl ) } -int +void gen_kpp_pdecl( FILE * ofile, knode_t * nl ) { knode_t * pml; @@ -255,7 +256,7 @@ gen_kpp_pdecl( FILE * ofile, knode_t * nl ) } -int +void wki_start_loop( FILE * ofile ) { @@ -264,7 +265,7 @@ wki_start_loop( FILE * ofile ) fprintf(ofile," DO i=its, ite\n\n\n"); } -int +void wki_end_loop( FILE * ofile ) { @@ -274,7 +275,7 @@ wki_end_loop( FILE * ofile ) } -int +void wki_prelim( FILE * ofile ) { @@ -303,7 +304,7 @@ wki_prelim( FILE * ofile ) } -int +void wki_one_d_vars( FILE * ofile, knode_t * pp ) { diff --git a/chem/KPP/util/wkc/gen_kpp_interface.c b/chem/KPP/util/wkc/gen_kpp_interface.c index 03abb61679..46ac0a978d 100644 --- a/chem/KPP/util/wkc/gen_kpp_interface.c +++ b/chem/KPP/util/wkc/gen_kpp_interface.c @@ -1,4 +1,5 @@ #include +#include #include "protos.h" @@ -7,7 +8,7 @@ -int +void gen_kpp_interface ( ) { knode_t * p1, * p2, * pm1; diff --git a/chem/KPP/util/wkc/gen_kpp_mech_dr.c b/chem/KPP/util/wkc/gen_kpp_mech_dr.c index da1d7ab39c..8b0140c1e7 100644 --- a/chem/KPP/util/wkc/gen_kpp_mech_dr.c +++ b/chem/KPP/util/wkc/gen_kpp_mech_dr.c @@ -1,5 +1,6 @@ #include +#include #include "protos.h" @@ -9,7 +10,7 @@ /*---------------------------------------------------------------------*/ -int +void gen_kpp_mechanism_driver ( ) { knode_t * p1, * p2, * p3, * p4, * pm1, * pm3, * pm4; @@ -112,7 +113,7 @@ knode_t * p1, * p2, * p3, * p4, * pm1, * pm3, * pm4; -int +void gen_kpp_call_to_mech_dr ( ) { knode_t * p1, * p2, * p3, * p4, * pm1, * pm3, * pm4; diff --git a/chem/KPP/util/wkc/gen_kpp_utils.c b/chem/KPP/util/wkc/gen_kpp_utils.c index 52343f0a40..26afa0bebb 100644 --- a/chem/KPP/util/wkc/gen_kpp_utils.c +++ b/chem/KPP/util/wkc/gen_kpp_utils.c @@ -6,7 +6,7 @@ #include "kpp_data.h" -int gen_kpp_warning( FILE * ofile, char * gen_by_name, char*cchar ) +void gen_kpp_warning( FILE * ofile, char * gen_by_name, char*cchar ) { fprintf(ofile, "%s \n", cchar); fprintf(ofile, "%s THIS FILE WAS AUTOMATICALLY GENERATED BY \n%s\n",cchar,cchar ); @@ -17,8 +17,7 @@ int gen_kpp_warning( FILE * ofile, char * gen_by_name, char*cchar ) -int -gen_kpp_pass_down ( FILE * ofile, int is_driver ) +void gen_kpp_pass_down ( FILE * ofile, int is_driver ) { fprintf(ofile,"!\n"); @@ -39,8 +38,7 @@ gen_kpp_pass_down ( FILE * ofile, int is_driver ) } -int -gen_kpp_decl ( FILE * ofile, int is_driver ) +void gen_kpp_decl ( FILE * ofile, int is_driver ) { /* declare dimensions */ gen_kpp_decld ( ofile, is_driver ); @@ -71,7 +69,7 @@ gen_kpp_decl ( FILE * ofile, int is_driver ) } -int gen_kpp_argl( FILE * ofile, knode_t * nl ) +void gen_kpp_argl( FILE * ofile, knode_t * nl ) { knode_t * pml; int countit; @@ -98,7 +96,7 @@ int gen_kpp_argl( FILE * ofile, knode_t * nl ) -int gen_kpp_argl_new( FILE * ofile, knode_t * nl ) +void gen_kpp_argl_new( FILE * ofile, knode_t * nl ) { knode_t * pml; int countit; @@ -127,7 +125,7 @@ int gen_kpp_argl_new( FILE * ofile, knode_t * nl ) -int gen_kpp_argd ( FILE * ofile, int is_driver ) +void gen_kpp_argd ( FILE * ofile, int is_driver ) { fprintf(ofile, " ids,ide, jds,jde, kds,kde, &\n"); fprintf(ofile, " ims,ime, jms,jme, kms,kme, &\n"); @@ -138,7 +136,7 @@ int gen_kpp_argd ( FILE * ofile, int is_driver ) } -int gen_kpp_decld ( FILE * ofile, int is_driver ) +void gen_kpp_decld ( FILE * ofile, int is_driver ) { fprintf(ofile, "\n\n\n INTEGER, INTENT(IN ) :: &\n"); fprintf(ofile, " ids,ide, jds,jde, kds,kde, & \n"); @@ -151,7 +149,7 @@ int gen_kpp_decld ( FILE * ofile, int is_driver ) } } -int gen_kpp_decl3d( FILE * ofile, knode_t * nl ) +void gen_kpp_decl3d( FILE * ofile, knode_t * nl ) { knode_t * pml; int countit; diff --git a/chem/KPP/util/wkc/get_kpp_chem_specs.c b/chem/KPP/util/wkc/get_kpp_chem_specs.c index 318c21970f..6130400a9b 100644 --- a/chem/KPP/util/wkc/get_kpp_chem_specs.c +++ b/chem/KPP/util/wkc/get_kpp_chem_specs.c @@ -39,14 +39,14 @@ int in_comment, got_it; if (!dir) { fprintf(stderr, "WARNING from gen_kpp: Cannot read directory: %s \n", kpp_dirname); perror(""); - return; + return(0); // return; } /* loop through sub directories in KPP directory */ while ((entry = readdir(dir))) { - if (entry->d_name ) { + if ( strlen(entry->d_name) > 0 ) { if ( strcmp(entry->d_name, ".") == 0) continue; diff --git a/chem/KPP/util/wkc/get_wrf_jvals.c b/chem/KPP/util/wkc/get_wrf_jvals.c index 3a0ac0c53b..eb828e5942 100644 --- a/chem/KPP/util/wkc/get_wrf_jvals.c +++ b/chem/KPP/util/wkc/get_wrf_jvals.c @@ -1,4 +1,5 @@ #include +#include #include "protos.h" diff --git a/chem/KPP/util/wkc/get_wrf_radicals.c b/chem/KPP/util/wkc/get_wrf_radicals.c index d7e5e0adfe..a250ba2fbd 100644 --- a/chem/KPP/util/wkc/get_wrf_radicals.c +++ b/chem/KPP/util/wkc/get_wrf_radicals.c @@ -1,4 +1,5 @@ #include +#include #include "protos.h" #include "protos_kpp.h" diff --git a/chem/KPP/util/wkc/kpp_data.c b/chem/KPP/util/wkc/kpp_data.c index 2a779b8f00..28bf11f1dc 100644 --- a/chem/KPP/util/wkc/kpp_data.c +++ b/chem/KPP/util/wkc/kpp_data.c @@ -11,7 +11,7 @@ knode_t * -new_knode ( int * kind ) +new_knode ( ) //new_knode ( int * kind ) { knode_t *p ; p = (knode_t *)malloc(sizeof(knode_t)) ; bzero(p,sizeof(knode_t)); return (p) ; } int diff --git a/chem/KPP/util/wkc/protos_kpp.h b/chem/KPP/util/wkc/protos_kpp.h index 12ce92b3f8..e1f6c41b65 100644 --- a/chem/KPP/util/wkc/protos_kpp.h +++ b/chem/KPP/util/wkc/protos_kpp.h @@ -2,7 +2,7 @@ #include "kpp_data.h" /* added for gen_kpp */ -knode_t * new_knode () ; +knode_t * new_knode ( ) ; int add_knode_to_end ( knode_t * node , knode_t ** list ) ; int gen_kpp (char * dirname1, char * dirname2); @@ -18,13 +18,13 @@ int compare_kpp_to_species ( char * kpp_dirname) ; int run_kpp( char * dirname , char * kpp_version ); -int change_chem_Makefile( ); +void change_chem_Makefile( ); -int gen_kpp_mechanism_driver ( ); -int gen_kpp_call_to_mech_dr ( ); -int gen_kpp_args_to_Update_Rconst ( ); -int gen_kpp_interface( ); +void gen_kpp_mechanism_driver ( ); +void gen_kpp_call_to_mech_dr ( ); +void gen_kpp_args_to_Update_Rconst ( ); +void gen_kpp_interface( ); int debug_out( ); @@ -35,30 +35,30 @@ int debug_out( ); /* added gen_kpp utils */ -int gen_kpp_warning( FILE * ofile, char * gen_by_name, char * cchar ); -int gen_kpp_pass_down ( FILE * ofile, int is_driver ); -int gen_kpp_decl ( FILE * ofile, int is_driver ); -int gen_kpp_argl( FILE * ofile , knode_t * nl ); -int gen_kpp_argl_new( FILE * ofile , knode_t * nl ); -int gen_kpp_argd ( FILE * ofile, int is_driver ); -int gen_kpp_decld ( FILE * ofile, int is_driver ); -int gen_kpp_decl3d( FILE * ofile, knode_t * nl ); +void gen_kpp_warning( FILE * ofile, char * gen_by_name, char * cchar ); +void gen_kpp_pass_down ( FILE * ofile, int is_driver ); +void gen_kpp_decl ( FILE * ofile, int is_driver ); +void gen_kpp_argl( FILE * ofile , knode_t * nl ); +void gen_kpp_argl_new( FILE * ofile , knode_t * nl ); +void gen_kpp_argd ( FILE * ofile, int is_driver ); +void gen_kpp_decld ( FILE * ofile, int is_driver ); +void gen_kpp_decl3d( FILE * ofile, knode_t * nl ); /* added gen_kpp_interf utils */ -int decl_misc ( FILE * ofile ); -int decl_jv ( FILE * ofile ); +void decl_misc ( FILE * ofile ); +void decl_jv ( FILE * ofile ); int count_members( knode_t * nl ); -int decl_jv_pointers ( FILE * ofile ); -int decl_kwc_constants ( FILE * ofile ); -int gen_map_jval( FILE * ofile ); -int gen_map_wrf_to_kpp ( FILE * ofile, knode_t * nl ); -int gen_map_kpp_to_wrf ( FILE * ofile, knode_t * nl ); -int gen_kpp_pargs( FILE * ofile, knode_t * nl ); -int gen_kpp_pdecl( FILE * ofile, knode_t * nl ); -int wki_prelim( FILE * ofile ); -int wki_start_loop( FILE * ofile ); -int wki_end_loop( FILE * ofile ); -int wki_one_d_vars ( FILE * ofile, knode_t * pp ); +void decl_jv_pointers ( FILE * ofile ); +void decl_kwc_constants ( FILE * ofile ); +void gen_map_jval( FILE * ofile ); +void gen_map_wrf_to_kpp ( FILE * ofile, knode_t * nl ); +void gen_map_kpp_to_wrf ( FILE * ofile, knode_t * nl ); +void gen_kpp_pargs( FILE * ofile, knode_t * nl ); +void gen_kpp_pdecl( FILE * ofile, knode_t * nl ); +void wki_prelim( FILE * ofile ); +void wki_start_loop( FILE * ofile ); +void wki_end_loop( FILE * ofile ); +void wki_one_d_vars ( FILE * ofile, knode_t * pp ); #define PROTOS_H_KPP #endif diff --git a/chem/KPP/util/wkc/registry_kpp.c b/chem/KPP/util/wkc/registry_kpp.c index c9b6b60ec4..ec78bac6d7 100644 --- a/chem/KPP/util/wkc/registry_kpp.c +++ b/chem/KPP/util/wkc/registry_kpp.c @@ -13,7 +13,7 @@ #include "data.h" #include "sym.h" -main( int argc, char *argv[], char *env[] ) +int main( int argc, char *argv[], char *env[] ) { char fname_in[NAMELEN], dir[NAMELEN], fname_tmp[NAMELEN], command[NAMELEN] ; FILE * fp_in, *fp_tmp ; diff --git a/chem/KPP/util/write_decomp/integr_edit.c b/chem/KPP/util/write_decomp/integr_edit.c index 756e04d135..82faae53c4 100644 --- a/chem/KPP/util/write_decomp/integr_edit.c +++ b/chem/KPP/util/write_decomp/integr_edit.c @@ -1,5 +1,6 @@ #include #include +#include #define NAMELEN 4096 @@ -7,6 +8,7 @@ /* replace decomp routine in KPP Integr file */ +int main( int argc, char *argv[] ) { diff --git a/compile b/compile index 0595d05db1..f0fc687728 100755 --- a/compile +++ b/compile @@ -407,13 +407,17 @@ else echo " " uname -a echo " " - set comp = ( `grep "^SFC" configure.wrf | cut -d"=" -f2-` ) +# remove comment text + set comp = ( `grep "^SFC" configure.wrf | cut -d"#" -f1 | cut -d"=" -f2-` ) if ( "$comp[1]" == "gfortran" ) then gfortran --version else if ( "$comp[1]" == "pgf90" ) then pgf90 --version else if ( "$comp[1]" == "ifort" ) then ifort -V +# in case using ifx + else if ( "$comp[1]" == "ifx" ) then + ifx -V else echo "Not sure how to figure out the version of this compiler: $comp[1]" endif diff --git a/external/RSL_LITE/buf_for_proc.c b/external/RSL_LITE/buf_for_proc.c index 5d50cbf14a..e31703091a 100755 --- a/external/RSL_LITE/buf_for_proc.c +++ b/external/RSL_LITE/buf_for_proc.c @@ -148,6 +148,7 @@ fprintf(stderr,"buffer_for_proc %s %d : was %d, increasing to %d\n", return(ret) ; } +int show_tot_size() { int P ; @@ -164,9 +165,7 @@ show_tot_size() } int -buffer_size_for_proc( P, code ) - int P ; - int code ; +buffer_size_for_proc( int P, int code ) { return( buftab[code][P].size ) ; } diff --git a/external/RSL_LITE/c_code.c b/external/RSL_LITE/c_code.c index 27549bdf9c..8db9aba3ba 100755 --- a/external/RSL_LITE/c_code.c +++ b/external/RSL_LITE/c_code.c @@ -14,6 +14,8 @@ #ifdef _WIN32 #include +#else +#include #endif #ifdef NCEP_DEBUG_MULTIDIR // # include @@ -243,6 +245,7 @@ gethostid () } #endif +int RSL_LITE_GET_HOSTNAME ( char * hn, int * size, int *n, int *hostid ) { char temp[512] ; @@ -256,6 +259,7 @@ RSL_LITE_GET_HOSTNAME ( char * hn, int * size, int *n, int *hostid ) return(0) ; } +int BYTE_BCAST ( char * buf, int * size, int * Fcomm ) { #ifndef STUBMPI @@ -275,6 +279,7 @@ BYTE_BCAST ( char * buf, int * size, int * Fcomm ) #endif } +int BYTE_BCAST_FROM_ROOT ( char * buf, int * size, int *root , int * Fcomm ) { #ifndef STUBMPI @@ -297,6 +302,7 @@ BYTE_BCAST_FROM_ROOT ( char * buf, int * size, int *root , int * Fcomm ) static int yp_curs, ym_curs, xp_curs, xm_curs ; static int yp_curs_recv, ym_curs_recv, xp_curs_recv, xm_curs_recv ; +int RSL_LITE_INIT_EXCH ( int * Fcomm0, int * shw0, int * xy0 , @@ -395,6 +401,7 @@ RSL_LITE_INIT_EXCH ( xp_curs_recv = nbytes_x_recv ; xm_curs_recv = nbytes_x_recv ; } +int RSL_LITE_PACK ( int * Fcomm0, char * buf , int * shw0 , int * sendbegm0 , int * sendwm0 , int * sendbegp0 , int * sendwp0 , int * recvbegm0 , int * recvwm0 , int * recvbegp0 , int * recvwp0 , @@ -690,6 +697,7 @@ RSL_LITE_PACK ( int * Fcomm0, char * buf , int * shw0 , } #if ( WRFPLUS == 1 ) +int RSL_LITE_PACK_AD ( int * Fcomm0, char * buf , int * shw0 , int * sendbegm0 , int * sendwm0 , int * sendbegp0 , int * sendwp0 , int * recvbegm0 , int * recvwm0 , int * recvbegp0 , int * recvwp0 , @@ -989,6 +997,7 @@ static MPI_Request yp_recv, ym_recv, yp_send, ym_send ; static MPI_Request xp_recv, xm_recv, xp_send, xm_send ; #endif +int RSL_LITE_EXCH_Y ( int * Fcomm0, int *me0, int * np0 , int * np_x0 , int * np_y0 , int * sendw_m, int * sendw_p, int * recvw_m , int * recvw_p ) { @@ -1026,6 +1035,7 @@ RSL_LITE_EXCH_Y ( int * Fcomm0, int *me0, int * np0 , int * np_x0 , int * np_y0 #endif } +int RSL_LITE_EXCH_X ( int * Fcomm0, int *me0, int * np0 , int * np_x0 , int * np_y0 , int * sendw_m, int * sendw_p, int * recvw_m , int * recvw_p ) { @@ -1065,6 +1075,7 @@ RSL_LITE_EXCH_X ( int * Fcomm0, int *me0, int * np0 , int * np_x0 , int * np_y0 #if !defined( MS_SUA) && !defined(_WIN32) #include +int RSL_INTERNAL_MILLICLOCK () { struct timeval tb ; @@ -1078,6 +1089,7 @@ RSL_INTERNAL_MILLICLOCK () msecs = 1000 * isec + usec / 1000 ; return(msecs) ; } +int RSL_INTERNAL_MICROCLOCK () { struct timeval tb ; diff --git a/external/RSL_LITE/cycle.c b/external/RSL_LITE/cycle.c index e9b2738e2d..0acfd9e3a8 100644 --- a/external/RSL_LITE/cycle.c +++ b/external/RSL_LITE/cycle.c @@ -32,7 +32,7 @@ static int *nbytes_dst = NULL ; static MPI_Request *x_recv = NULL , *x_send = NULL ; #endif -RSL_LITE_INIT_CYCLE ( int * Fcomm , +void RSL_LITE_INIT_CYCLE ( int * Fcomm , int * xy0 , int * inout0 , int * n3dR0, int *n2dR0, int * typesizeR0 , int * n3dI0, int *n2dI0, int * typesizeI0 , @@ -142,7 +142,7 @@ RSL_LITE_INIT_CYCLE ( int * Fcomm , #endif } -RSL_LITE_PACK_CYCLE ( int * Fcomm, char * buf , int * inout0 , int * typesize0 , int * xy0 , int * pu0 , char * memord , int * xstag0 , +void RSL_LITE_PACK_CYCLE ( int * Fcomm, char * buf , int * inout0 , int * typesize0 , int * xy0 , int * pu0 , char * memord , int * xstag0 , int *me0, int * np0 , int * np_x0 , int * np_y0 , int * min_subdomain, int * ids0 , int * ide0 , int * jds0 , int * jde0 , int * kds0 , int * kde0 , @@ -343,7 +343,7 @@ RSL_LITE_PACK_CYCLE ( int * Fcomm, char * buf , int * inout0 , int * typesize0 , #endif } -RSL_LITE_CYCLE ( int * Fcomm0, int *me0, int * np0 , int * np_x0 , int * np_y0 ) +void RSL_LITE_CYCLE ( int * Fcomm0, int *me0, int * np0 , int * np_x0 , int * np_y0 ) { int me, np, np_x, np_y ; int yp, ym, xp, xm, nb ; diff --git a/external/RSL_LITE/gen_comms.c b/external/RSL_LITE/gen_comms.c index 2a6b2ef5bd..3f21c83d90 100644 --- a/external/RSL_LITE/gen_comms.c +++ b/external/RSL_LITE/gen_comms.c @@ -1219,8 +1219,10 @@ fprintf(fp,"CALL wrf_debug(3,'calling RSL_LITE_INIT_EXCH %s for Y %s')\n",maxste #endif #if ( WRFPLUS == 1 ) +int gen_packs_halo ( FILE *fp , node_t *p, char *shw, int xy /* 0=y,1=x */ , int pu /* 0=pack,1=unpack */, int nta /* 0=NLM,1=TLM,2=ADM*/, char * packname, char * commname, int always_interp_mp ) #else +int gen_packs_halo ( FILE *fp , node_t *p, char *shw, int xy /* 0=y,1=x */ , int pu /* 0=pack,1=unpack */, char * packname, char * commname, int always_interp_mp ) #endif { @@ -1454,6 +1456,7 @@ fprintf(fp,"(ips-1)*grid%%sr_x+1,ipe*grid%%sr_x,(jps-1)*grid%%sr_y+1,jpe*grid%%s } } +int gen_packs ( FILE *fp , node_t *p, int shw, int xy /* 0=y,1=x */ , int pu /* 0=pack,1=unpack */, char * packname, char * commname ) { node_t * q ; diff --git a/external/RSL_LITE/period.c b/external/RSL_LITE/period.c index 8e288b6ccf..b0401d03c5 100755 --- a/external/RSL_LITE/period.c +++ b/external/RSL_LITE/period.c @@ -14,7 +14,7 @@ static int yp_curs, ym_curs, xp_curs, xm_curs ; -RSL_LITE_INIT_PERIOD ( +void RSL_LITE_INIT_PERIOD ( int * Fcomm0, int * shw0, int * n3dR0, int *n2dR0, int * typesizeR0 , @@ -93,7 +93,7 @@ RSL_LITE_INIT_PERIOD ( } -RSL_LITE_PACK_PERIOD ( int* Fcomm0, char * buf , int * shw0 , int * typesize0 , int * xy0 , int * pu0 , int * imemord , int * stag0 , +void RSL_LITE_PACK_PERIOD ( int* Fcomm0, char * buf , int * shw0 , int * typesize0 , int * xy0 , int * pu0 , int * imemord , int * stag0 , int *me0, int * np0 , int * np_x0 , int * np_y0 , int * ids0 , int * ide0 , int * jds0 , int * jde0 , int * kds0 , int * kde0 , int * ims0 , int * ime0 , int * jms0 , int * jme0 , int * kms0 , int * kme0 , @@ -368,7 +368,7 @@ static MPI_Request yp_recv, ym_recv, yp_send, ym_send ; static MPI_Request xp_recv, xm_recv, xp_send, xm_send ; #endif -RSL_LITE_EXCH_PERIOD_X ( int * Fcomm0, int *me0, int * np0 , int * np_x0 , int * np_y0 ) +void RSL_LITE_EXCH_PERIOD_X ( int * Fcomm0, int *me0, int * np0 , int * np_x0 , int * np_y0 ) { #ifndef STUBMPI int me, np, np_x, np_y ; @@ -414,7 +414,7 @@ fprintf(stderr,"RSL_LITE_EXCH_PERIOD_X disabled\n") ; #endif } -RSL_LITE_EXCH_PERIOD_Y ( int * Fcomm0, int *me0, int * np0 , int * np_x0 , int * np_y0 ) +void RSL_LITE_EXCH_PERIOD_Y ( int * Fcomm0, int *me0, int * np0 , int * np_x0 , int * np_y0 ) { #ifndef STUBMPI int me, np, np_x, np_y ; diff --git a/external/RSL_LITE/rsl_bcast.c b/external/RSL_LITE/rsl_bcast.c index d3e7d10691..68fb805d1d 100755 --- a/external/RSL_LITE/rsl_bcast.c +++ b/external/RSL_LITE/rsl_bcast.c @@ -74,13 +74,13 @@ typedef struct bcast_point_desc { } bcast_point_desc_t ; -static destroy_par_info ( p ) +static int destroy_par_info ( p ) char * p ; { if ( p != NULL ) RSL_FREE( p ) ; } -static destroy_list( list, dfcn ) +static int destroy_list( list, dfcn ) rsl_list_t ** list ; /* pointer to pointer to list */ int (*dfcn)() ; /* pointer to function for destroying the data field of the list */ @@ -161,7 +161,7 @@ static int s_putmsg = 0 ; // It needs the minor number of tasks on the nest's MPI mesh (just pass that in) // Otherwise it doesn't need a communicator -RSL_LITE_NESTING_RESET ( +void RSL_LITE_NESTING_RESET ( ) { int j ; @@ -460,28 +460,9 @@ void RSL_LITE_TO_PARENT_INFO ( msize_p, @*/ -/* parent->nest */ -RSL_LITE_TO_CHILD_MSG ( nbuf_p, buf ) - int_p - nbuf_p ; /* (I) Number of bytes to be packed. */ - char * - buf ; /* (I) Buffer containing the data to be packed. */ -{ - rsl_lite_to_peerpoint_msg ( nbuf_p, buf ) ; -} - -/* nest->parent */ -RSL_LITE_TO_PARENT_MSG ( nbuf_p, buf ) - int_p - nbuf_p ; /* (I) Number of bytes to be packed. */ - char * - buf ; /* (I) Buffer containing the data to be packed. */ -{ - rsl_lite_to_peerpoint_msg ( nbuf_p, buf ) ; -} /* common code */ -rsl_lite_to_peerpoint_msg ( nbuf_p, buf ) +void rsl_lite_to_peerpoint_msg ( nbuf_p, buf ) int_p nbuf_p ; /* (I) Number of bytes to be packed. */ char * @@ -521,45 +502,39 @@ rsl_lite_to_peerpoint_msg ( nbuf_p, buf ) } -/********************************************/ - -// PARALLELNESTING NOTES -// what communicator should be passed and what are mytask and ntasks? -// I think it should be the mom_and_me communicator and the mytask and ntasks from -// that communicator -// -// nest if it's parent->nest and the parent if it's nest->parent (we'll see) /* parent->nest */ -RSL_LITE_BCAST_MSGS ( mytask_p, ntasks_par_p, ntasks_nest_p, offset_p, Fcomm ) - int_p mytask_p, ntasks_par_p, ntasks_nest_p, offset_p, Fcomm ; /* offset is the id of the first task in the nest set */ +void RSL_LITE_TO_CHILD_MSG ( nbuf_p, buf ) + int_p + nbuf_p ; /* (I) Number of bytes to be packed. */ + char * + buf ; /* (I) Buffer containing the data to be packed. */ { -#ifndef STUBMPI - MPI_Comm comm ; - - comm = MPI_Comm_f2c( *Fcomm ) ; -#else - int comm ; -#endif - rsl_lite_allgather_msgs ( mytask_p, ntasks_par_p, ntasks_nest_p, offset_p, comm, 0 ) ; + rsl_lite_to_peerpoint_msg ( nbuf_p, buf ) ; } /* nest->parent */ -RSL_LITE_MERGE_MSGS ( mytask_p, ntasks_par_p, ntasks_nest_p, offset_p, Fcomm ) - int_p mytask_p, ntasks_par_p, ntasks_nest_p, offset_p, Fcomm ; /* offset is the id of the first task in the nest set */ +void RSL_LITE_TO_PARENT_MSG ( nbuf_p, buf ) + int_p + nbuf_p ; /* (I) Number of bytes to be packed. */ + char * + buf ; /* (I) Buffer containing the data to be packed. */ { -#ifndef STUBMPI - MPI_Comm comm ; - - comm = MPI_Comm_f2c( *Fcomm ) ; -#else - int comm ; -#endif - rsl_lite_allgather_msgs ( mytask_p, ntasks_par_p, ntasks_nest_p, offset_p, comm, 1 ) ; + rsl_lite_to_peerpoint_msg ( nbuf_p, buf ) ; } + +/********************************************/ + +// PARALLELNESTING NOTES +// what communicator should be passed and what are mytask and ntasks? +// I think it should be the mom_and_me communicator and the mytask and ntasks from +// that communicator +// +// nest if it's parent->nest and the parent if it's nest->parent (we'll see) + /* common code */ -rsl_lite_allgather_msgs ( mytask_p, ntasks_par_p, ntasks_nest_p, offset_p, comm, dir ) +void rsl_lite_allgather_msgs ( mytask_p, ntasks_par_p, ntasks_nest_p, offset_p, comm, dir ) int_p mytask_p, ntasks_par_p, ntasks_nest_p, offset_p ; int dir ; /* 0 = parent to nest, otherwist nest to parent */ #ifndef STUBMPI @@ -654,27 +629,37 @@ rsl_lite_allgather_msgs ( mytask_p, ntasks_par_p, ntasks_nest_p, offset_p, comm, /********************************************/ /* parent->nest */ -RSL_LITE_FROM_PARENT_INFO ( ig_p, jg_p, retval_p ) - int_p - ig_p /* (O) Global index in M dimension of nest. */ - ,jg_p /* (O) Global index in N dimension of nest. */ - ,retval_p ; /* (O) Return value; =1 valid point, =0 done. */ +void RSL_LITE_BCAST_MSGS ( mytask_p, ntasks_par_p, ntasks_nest_p, offset_p, Fcomm ) + int_p mytask_p, ntasks_par_p, ntasks_nest_p, offset_p, Fcomm ; /* offset is the id of the first task in the nest set */ { - rsl_lite_from_peerpoint_info ( ig_p, jg_p, retval_p ) ; +#ifndef STUBMPI + MPI_Comm comm ; + + comm = MPI_Comm_f2c( *Fcomm ) ; +#else + int comm ; +#endif + rsl_lite_allgather_msgs ( mytask_p, ntasks_par_p, ntasks_nest_p, offset_p, comm, 0 ) ; } /* nest->parent */ -RSL_LITE_FROM_CHILD_INFO ( ig_p, jg_p, retval_p ) - int_p - ig_p /* (O) Global index in M dimension of nest. */ - ,jg_p /* (O) Global index in N dimension of nest. */ - ,retval_p ; /* (O) Return value; =1 valid point, =0 done. */ +void RSL_LITE_MERGE_MSGS ( mytask_p, ntasks_par_p, ntasks_nest_p, offset_p, Fcomm ) + int_p mytask_p, ntasks_par_p, ntasks_nest_p, offset_p, Fcomm ; /* offset is the id of the first task in the nest set */ { - rsl_lite_from_peerpoint_info ( ig_p, jg_p, retval_p ) ; +#ifndef STUBMPI + MPI_Comm comm ; + + comm = MPI_Comm_f2c( *Fcomm ) ; +#else + int comm ; +#endif + rsl_lite_allgather_msgs ( mytask_p, ntasks_par_p, ntasks_nest_p, offset_p, comm, 1 ) ; } +/********************************************/ + /* common code */ -rsl_lite_from_peerpoint_info ( ig_p, jg_p, retval_p ) +void rsl_lite_from_peerpoint_info ( ig_p, jg_p, retval_p ) int_p ig_p /* (O) Global index in M dimension of nest. */ ,jg_p /* (O) Global index in N dimension of nest. */ @@ -696,30 +681,31 @@ rsl_lite_from_peerpoint_info ( ig_p, jg_p, retval_p ) } -/********************************************/ - /* parent->nest */ -RSL_LITE_FROM_PARENT_MSG ( len_p, buf ) +void RSL_LITE_FROM_PARENT_INFO ( ig_p, jg_p, retval_p ) int_p - len_p ; /* (I) Number of bytes to unpack. */ - int * - buf ; /* (O) Destination buffer. */ + ig_p /* (O) Global index in M dimension of nest. */ + ,jg_p /* (O) Global index in N dimension of nest. */ + ,retval_p ; /* (O) Return value; =1 valid point, =0 done. */ { - rsl_lite_from_peerpoint_msg ( len_p, buf ) ; + rsl_lite_from_peerpoint_info ( ig_p, jg_p, retval_p ) ; } /* nest->parent */ -RSL_LITE_FROM_CHILD_MSG ( len_p, buf ) +void RSL_LITE_FROM_CHILD_INFO ( ig_p, jg_p, retval_p ) int_p - len_p ; /* (I) Number of bytes to unpack. */ - int * - buf ; /* (O) Destination buffer. */ + ig_p /* (O) Global index in M dimension of nest. */ + ,jg_p /* (O) Global index in N dimension of nest. */ + ,retval_p ; /* (O) Return value; =1 valid point, =0 done. */ { - rsl_lite_from_peerpoint_msg ( len_p, buf ) ; + rsl_lite_from_peerpoint_info ( ig_p, jg_p, retval_p ) ; } + +/********************************************/ + /* common code */ -rsl_lite_from_peerpoint_msg ( len_p, buf ) +void rsl_lite_from_peerpoint_msg ( len_p, buf ) int_p len_p ; /* (I) Number of bytes to unpack. */ int * @@ -744,5 +730,26 @@ rsl_lite_from_peerpoint_msg ( len_p, buf ) Rpointcurs += *len_p ; } +/* parent->nest */ +void RSL_LITE_FROM_PARENT_MSG ( len_p, buf ) + int_p + len_p ; /* (I) Number of bytes to unpack. */ + int * + buf ; /* (O) Destination buffer. */ +{ + rsl_lite_from_peerpoint_msg ( len_p, buf ) ; +} + +/* nest->parent */ +void RSL_LITE_FROM_CHILD_MSG ( len_p, buf ) + int_p + len_p ; /* (I) Number of bytes to unpack. */ + int * + buf ; /* (O) Destination buffer. */ +{ + rsl_lite_from_peerpoint_msg ( len_p, buf ) ; +} + + /********************************************/ diff --git a/external/RSL_LITE/rsl_lite.h b/external/RSL_LITE/rsl_lite.h index da430be967..f3e291350f 100644 --- a/external/RSL_LITE/rsl_lite.h +++ b/external/RSL_LITE/rsl_lite.h @@ -164,6 +164,8 @@ #define RSL_FREE(P) rsl_free(&(P)) char * buffer_for_proc ( int P, int size, int code ) ; +int buffer_size_for_proc( int P, int code ); + void * rsl_malloc( char * f, int l, int s ) ; void rsl_free( char ** p ) ; typedef int * int_p ; @@ -194,3 +196,18 @@ typedef struct rsl_list { #endif } rsl_list_t ; + +void F_PACK_LINT (long *inbuf, long *outbuf, int* memorder, int* js, int* je, int* ks, int* ke, int* is, int* ie, int* jms, int* jme, int* kms, int* kme, int* ims, int* ime, int* curs); +void F_PACK_INT (int *inbuf, int *outbuf, int* memorder, int* js, int* je, int* ks, int* ke, int* is, int* ie, int* jms, int* jme, int* kms, int* kme, int* ims, int* ime, int* curs); +void F_UNPACK_LINT (long *inbuf, long *outbuf, int* memorder, int* js, int* je, int* ks, int* ke, int* is, int* ie, int* jms, int* jme, int* kms, int* kme, int* ims, int* ime, int* curs); +void F_UNPACK_INT (int *inbuf, int *outbuf, int* memorder, int* js, int* je, int* ks, int* ke, int* is, int* ie, int* jms, int* jme, int* kms, int* kme, int* ims, int* ime, int* curs); + +#if ( WRFPLUS == 1 ) +void F_PACK_LINT_AD (long *inbuf, long *outbuf, int* memorder, int* js, int* je, int* ks, int* ke, int* is, int* ie, int* jms, int* jme, int* kms, int* kme, int* ims, int* ime, int* curs); +void F_PACK_INT_AD (int *inbuf, int *outbuf, int* memorder, int* js, int* je, int* ks, int* ke, int* is, int* ie, int* jms, int* jme, int* kms, int* kme, int* ims, int* ime, int* curs); +void F_UNPACK_LINT_AD (long *inbuf, long *outbuf, int* memorder, int* js, int* je, int* ks, int* ke, int* is, int* ie, int* jms, int* jme, int* kms, int* kme, int* ims, int* ime, int* curs); +void F_UNPACK_INT_AD (int *inbuf, int *outbuf, int* memorder, int* js, int* je, int* ks, int* ke, int* is, int* ie, int* jms, int* jme, int* kms, int* kme, int* ims, int* ime, int* curs); +#endif + +int TASK_FOR_POINT ( int* i_p , int* j_p , int* ids_p, int* ide_p , int* jds_p, int* jde_p , int* npx_p , int* npy_p , int* Px_p, int* Py_p , int* minx_p, int* miny_p, int* ierr_p ); +void TASK_FOR_POINT_MESSAGE(); diff --git a/external/RSL_LITE/rsl_malloc.c b/external/RSL_LITE/rsl_malloc.c index 4a4cdd1001..3f8340978f 100755 --- a/external/RSL_LITE/rsl_malloc.c +++ b/external/RSL_LITE/rsl_malloc.c @@ -86,6 +86,8 @@ #endif #include "rsl_lite.h" +#include +#include /* extern int EF_ALIGNMENT; extern int EF_PROTECT_BELOW; diff --git a/external/RSL_LITE/swap.c b/external/RSL_LITE/swap.c index 28ac424d04..5c32380da4 100644 --- a/external/RSL_LITE/swap.c +++ b/external/RSL_LITE/swap.c @@ -2,6 +2,7 @@ # include #endif #include +#include #define STANDARD_ERROR 2 @@ -27,7 +28,7 @@ static int *nbytes = NULL ; static MPI_Request *x_recv = NULL , *x_send = NULL ; #endif -RSL_LITE_INIT_SWAP ( +void RSL_LITE_INIT_SWAP ( int * Fcomm , int * xy0 , int * n3dR0, int *n2dR0, int * typesizeR0 , @@ -119,7 +120,7 @@ RSL_LITE_INIT_SWAP ( #endif } -RSL_LITE_PACK_SWAP ( int * Fcomm , char * buf , int * odd0 , int * typesize0 , int * xy0 , int * pu0 , char * memord , int * xstag0 , +void RSL_LITE_PACK_SWAP ( int * Fcomm , char * buf , int * odd0 , int * typesize0 , int * xy0 , int * pu0 , char * memord , int * xstag0 , int *me0, int * np0 , int * np_x0 , int * np_y0 , int * min_subdomain , int * ids0 , int * ide0 , int * jds0 , int * jde0 , int * kds0 , int * kde0 , @@ -304,7 +305,7 @@ RSL_LITE_PACK_SWAP ( int * Fcomm , char * buf , int * odd0 , int * typesize0 , i #endif } -RSL_LITE_SWAP ( int * Fcomm0, int *me0, int * np0 , int * np_x0 , int * np_y0 ) +void RSL_LITE_SWAP ( int * Fcomm0, int *me0, int * np0 , int * np_x0 , int * np_y0 ) { #ifndef STUBMPI int me, np, np_x, np_y ; diff --git a/external/RSL_LITE/task_for_point.c b/external/RSL_LITE/task_for_point.c index b33a03c452..6da4cd5aa5 100644 --- a/external/RSL_LITE/task_for_point.c +++ b/external/RSL_LITE/task_for_point.c @@ -20,8 +20,7 @@ static char tfpmess[1024] ; -TASK_FOR_POINT ( i_p , j_p , ids_p, ide_p , jds_p, jde_p , npx_p , npy_p , Px_p, Py_p , minx_p, miny_p, ierr_p ) - int_p i_p , j_p , Px_p , Py_p , ids_p, ide_p , jds_p, jde_p , npx_p , npy_p, minx_p, miny_p, ierr_p ; +int TASK_FOR_POINT ( int* i_p , int* j_p , int* ids_p, int* ide_p , int* jds_p, int* jde_p , int* npx_p , int* npy_p , int* Px_p, int* Py_p , int* minx_p, int* miny_p, int* ierr_p ) { int i , j , ids, ide, jds, jde, npx, npy, minx, miny ; /* inputs */ int Px, Py ; /* output */ @@ -124,7 +123,7 @@ TASK_FOR_POINT ( i_p , j_p , ids_p, ide_p , jds_p, jde_p , npx_p , npy_p , Px_p, *Py_p = Py ; } -TASK_FOR_POINT_MESSAGE() +void TASK_FOR_POINT_MESSAGE() { fprintf(stderr,"%s\n",tfpmess) ; } diff --git a/external/io_grib1/MEL_grib1/FTP_getfile.c b/external/io_grib1/MEL_grib1/FTP_getfile.c index 8fd4d5f675..08b0820955 100644 --- a/external/io_grib1/MEL_grib1/FTP_getfile.c +++ b/external/io_grib1/MEL_grib1/FTP_getfile.c @@ -1,5 +1,12 @@ #include #include +#include + +#if defined(_WIN32) +#include +#else +#include +#endif #include "dprints.h" /* Debug printing & function prototypes*/ #include "gribfuncs.h" /* function prototypes */ diff --git a/external/io_grib1/MEL_grib1/gribfuncs.h b/external/io_grib1/MEL_grib1/gribfuncs.h index a05f0fde97..7b894f9909 100644 --- a/external/io_grib1/MEL_grib1/gribfuncs.h +++ b/external/io_grib1/MEL_grib1/gribfuncs.h @@ -29,12 +29,15 @@ int grib_dec (char *,PDS_INPUT *,grid_desc_sec *,BDS_HEAD_INPUT *, int grib_enc (DATA_INPUT,USER_INPUT,GEOM_IN,float *,GRIB_HDR *,char *); float grib_ibm_local(unsigned long ibm_float); int grib_seek (char *,long *,int,GRIB_HDR *,char *); +int grib_fseek (FILE *, long *, int, GRIB_HDR *, char *); + int gribgetbds (char *,short,BMS_INPUT *,grid_desc_sec *,float **, BDS_HEAD_INPUT *, char *); int gribgetbms (char *,BMS_INPUT *,int,unsigned long,char *); int gribgetgds (char *,grid_desc_sec *,char *); int gribgetpds (char *,PDS_INPUT *,char *); int gribhdr2file (GRIB_HDR *,FILE *,char *); +int gribhdr2filed (GRIB_HDR *, int , char *); int gribputbds (USER_INPUT,long,short,float *,BDS_HEAD_INPUT *, GRIB_HDR **,char *); int gribputgds (GEOM_IN,GDS_HEAD_INPUT *,void **,GRIB_HDR **,char *); @@ -44,10 +47,12 @@ void init_dec_struct (PDS_INPUT *,grid_desc_sec *,BMS_INPUT *,BDS_HEAD_INPUT *); void init_enc_struct (DATA_INPUT *,GEOM_IN *,USER_INPUT *); int init_gribhdr (GRIB_HDR **,char *); void init_struct (void *, int); -int inp2Grib_Lambert (void **,LAMBERT *,long *,char *); +int inp2grib_Lambert (void **,LAMBERT *,long *,char *); int inp2grib_Latlon (void **,LATLON *,long *,char *); int inp2grib_PDS (PDS_INPUT *,PDS_GRIB **,char *); int inp2grib_PolarSt (void **,POLAR *,long *,char *); +int create_inpMercator (GEOM_IN , void **, char *); +int inp2grib_Mercator (void **, MERCATOR *,long *, char *); int ld_dec_lookup (char *,char *); int ld_enc_config (char *,USER_INPUT *,char *); int ld_enc_ffinfo (char *, DATA_INPUT *,char *); @@ -65,6 +70,11 @@ void prt_inp_struct (PDS_INPUT *,grid_desc_sec *, BMS_INPUT *, struct BDS_HEAD_INPUT *,float **); void upd_child_errmsg (char *,char *); void w3ft33_(float *ain,float **out, int *nsflag); + +void set_bytes(long in, int numbytes, char *out); +void set_bytes_u(unsigned long in, int numbytes, unsigned char *out); +int grib_unthin(float *in,float *out,int *rowsizes, int ysize, int *xsize); + #else #define PROTOTYPE_NEEDED 0 diff --git a/external/io_grib1/MEL_grib1/gribgetbds.c b/external/io_grib1/MEL_grib1/gribgetbds.c index abc3e5264a..f6958a9282 100644 --- a/external/io_grib1/MEL_grib1/gribgetbds.c +++ b/external/io_grib1/MEL_grib1/gribgetbds.c @@ -1,5 +1,6 @@ #include #include +#include #include #include "dprints.h" /* for dprints */ #include "gribfuncs.h" /* prototypes */ diff --git a/external/io_grib1/MEL_grib1/gribhdr2file.c b/external/io_grib1/MEL_grib1/gribhdr2file.c index 41c248bce9..649c46dc0e 100644 --- a/external/io_grib1/MEL_grib1/gribhdr2file.c +++ b/external/io_grib1/MEL_grib1/gribhdr2file.c @@ -2,6 +2,13 @@ #include #include "dprints.h" /* for dprints */ #include "gribfuncs.h" /* prototypes */ + +#if defined(_WIN32) +#include +#else +#include +#endif + /* * ************************************************************************ diff --git a/external/io_grib1/MEL_grib1/init_enc_struct.c b/external/io_grib1/MEL_grib1/init_enc_struct.c index 9e5ce13fd6..dd2a79cdea 100644 --- a/external/io_grib1/MEL_grib1/init_enc_struct.c +++ b/external/io_grib1/MEL_grib1/init_enc_struct.c @@ -5,6 +5,7 @@ */ #include #include +#include #include "dprints.h" /* for dprints */ #include "gribfuncs.h" /* prototypes */ /* diff --git a/external/io_grib1/MEL_grib1/init_gribhdr.c b/external/io_grib1/MEL_grib1/init_gribhdr.c index ea0be9820f..b1580936e5 100644 --- a/external/io_grib1/MEL_grib1/init_gribhdr.c +++ b/external/io_grib1/MEL_grib1/init_gribhdr.c @@ -3,6 +3,7 @@ */ #include #include +#include #include "dprints.h" /* for dprints */ #include "gribfuncs.h" /* prototypes */ /* diff --git a/external/io_grib1/MEL_grib1/init_struct.c b/external/io_grib1/MEL_grib1/init_struct.c index bf81ed176c..5bc0e452ca 100644 --- a/external/io_grib1/MEL_grib1/init_struct.c +++ b/external/io_grib1/MEL_grib1/init_struct.c @@ -6,6 +6,7 @@ */ #include #include +#include #include "dprints.h" /* for dprints */ #include "gribfuncs.h" /* prototypes */ diff --git a/external/io_grib1/MEL_grib1/ld_enc_input.c b/external/io_grib1/MEL_grib1/ld_enc_input.c index b8a911925f..a4979aeb0c 100644 --- a/external/io_grib1/MEL_grib1/ld_enc_input.c +++ b/external/io_grib1/MEL_grib1/ld_enc_input.c @@ -10,6 +10,7 @@ Original version from previous Encoder Library; #include #include #include +#include #include "dprints.h" /* for dprints */ #include "gribfuncs.h" /* prototypes */ diff --git a/external/io_grib1/MEL_grib1/ld_enc_lookup.c b/external/io_grib1/MEL_grib1/ld_enc_lookup.c index 8605aac126..3330d478a2 100644 --- a/external/io_grib1/MEL_grib1/ld_enc_lookup.c +++ b/external/io_grib1/MEL_grib1/ld_enc_lookup.c @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include "grib_lookup.h" /* combined lookup structs */ #include "dprints.h" /* for dprints */ #include "gribfuncs.h" /* prototypes */ diff --git a/external/io_grib1/MEL_grib1/ld_grib_origctrs.c b/external/io_grib1/MEL_grib1/ld_grib_origctrs.c index 5429eca235..2db15c4b0d 100644 --- a/external/io_grib1/MEL_grib1/ld_grib_origctrs.c +++ b/external/io_grib1/MEL_grib1/ld_grib_origctrs.c @@ -1,6 +1,13 @@ #include #include #include + +#if defined(_WIN32) +#include +#else +#include +#endif + #include "grib_lookup.h" #include "dprints.h" /* for dprints */ #include "gribfuncs.h" /* prototypes */ @@ -153,7 +160,7 @@ FILE *fLook; * * A.7 RETURN with status */ - if (fLook) close(fLook); + if (fLook) fclose(fLook); DPRINT2 ("Exiting %s, Stat=%d\n", func, stat); return (stat); /* diff --git a/external/io_grib1/MEL_grib1/map_lvl.c b/external/io_grib1/MEL_grib1/map_lvl.c index bdbb7651e4..1458d033b9 100644 --- a/external/io_grib1/MEL_grib1/map_lvl.c +++ b/external/io_grib1/MEL_grib1/map_lvl.c @@ -1,5 +1,7 @@ #include #include +#include +#include #include "dprints.h" /* for debug printing */ #include "grib_lookup.h" /* LVL_DEFN */ #include "gribfuncs.h" /* prototypes */ diff --git a/external/io_grib1/MEL_grib1/map_parm.c b/external/io_grib1/MEL_grib1/map_parm.c index 18b2d049ed..83d7ce11b4 100644 --- a/external/io_grib1/MEL_grib1/map_parm.c +++ b/external/io_grib1/MEL_grib1/map_parm.c @@ -1,5 +1,6 @@ #include #include +#include #include "dprints.h" /* for debug printing */ #include "grib_lookup.h" /* PARM_DEFN */ #include "gribfuncs.h" /* prototypes */ diff --git a/external/io_grib1/MEL_grib1/prt_badmsg.c b/external/io_grib1/MEL_grib1/prt_badmsg.c index 2be1ed3383..015806b67b 100644 --- a/external/io_grib1/MEL_grib1/prt_badmsg.c +++ b/external/io_grib1/MEL_grib1/prt_badmsg.c @@ -1,5 +1,6 @@ #include #include +#include #include "gribfuncs.h" /* ************************************************************************** diff --git a/external/io_grib1/MEL_grib1/prt_inp_struct.c b/external/io_grib1/MEL_grib1/prt_inp_struct.c index 250ca780cb..23474ab1ce 100644 --- a/external/io_grib1/MEL_grib1/prt_inp_struct.c +++ b/external/io_grib1/MEL_grib1/prt_inp_struct.c @@ -6,6 +6,7 @@ */ #include #include +#include #include #include "grib_lookup.h" /* for Parm/Ctr/Levl/Mdl_defn */ #include "dprints.h" /* for dprints */ diff --git a/external/io_grib1/MEL_grib1/set_bytes.c b/external/io_grib1/MEL_grib1/set_bytes.c index b7b7aa34c1..a5ce5a03cb 100644 --- a/external/io_grib1/MEL_grib1/set_bytes.c +++ b/external/io_grib1/MEL_grib1/set_bytes.c @@ -1,4 +1,5 @@ #include +#include #include "isdb.h" void set_bytes(long in, int numbytes, char *out) diff --git a/external/io_grib1/MEL_grib1/upd_child_errmsg.c b/external/io_grib1/MEL_grib1/upd_child_errmsg.c index 500ce68162..d0a795e567 100644 --- a/external/io_grib1/MEL_grib1/upd_child_errmsg.c +++ b/external/io_grib1/MEL_grib1/upd_child_errmsg.c @@ -1,5 +1,6 @@ #include #include +#include #include "dprints.h" /* for dprints */ #include "gribfuncs.h" /* prototypes */ diff --git a/external/io_grib1/grib1_routines.c b/external/io_grib1/grib1_routines.c index 37dd19275f..0052cae0f8 100644 --- a/external/io_grib1/grib1_routines.c +++ b/external/io_grib1/grib1_routines.c @@ -16,17 +16,25 @@ #include "grib1_routines.h" #include "gridnav.h" #include "wrf_projection.h" +#include "trim.h" #include #include #include #include +#include +#include +#if defined(_WIN32) +#include +#else +#include +#endif -char *trim (char *str); int index_metadata(GribInfo *gribinfo, MetaData *metadata, int fid); int index_times(GribInfo *gribinfo, Times *times); int find_time(Times *times, char valid_time[15]); int get_gridnav_projection(int wrf_projection); int get_byte(int input_int, int bytenum); +int grib_time_format(char *DateStr, char *DateStrIn); /* * Allocate space for the fileindex structure diff --git a/external/io_grib1/grib1_util/read_grib.c b/external/io_grib1/grib1_util/read_grib.c index 79757d38d8..c1ebcdcb06 100644 --- a/external/io_grib1/grib1_util/read_grib.c +++ b/external/io_grib1/grib1_util/read_grib.c @@ -49,6 +49,13 @@ #include "gribfuncs.h" #include "gribsize.incl" #include "read_grib.h" +#include "alloc_2d.h" + +#if defined(_WIN32) +#include +#else +#include +#endif /* Function Declarations */ @@ -2267,7 +2274,7 @@ int rg_setup_gribmap(GribParameters *gribmap, char filename[]) gribmap->num_entries = idx; - close(fid); + fclose(fid); return 1; } diff --git a/external/io_grib1/grib1_util/read_grib.h b/external/io_grib1/grib1_util/read_grib.h index f2c628b64b..3a9d73c5cb 100644 --- a/external/io_grib1/grib1_util/read_grib.h +++ b/external/io_grib1/grib1_util/read_grib.h @@ -167,3 +167,4 @@ int rg_get_index_near_date(GribInfo *gribinfo,char targetdate[STRINGSIZE], int rg_get_date(GribInfo *gribinfo,int index); int rg_get_century(GribInfo *gribinfo,int index); int rg_get_forecast_time(GribInfo *gribinfo,int index); +int rg_get_parmtbl(GribInfo *gribinfo, int index); diff --git a/external/io_grib1/grib1_util/write_grib.c b/external/io_grib1/grib1_util/write_grib.c index 79dd956345..715ae7c658 100644 --- a/external/io_grib1/grib1_util/write_grib.c +++ b/external/io_grib1/grib1_util/write_grib.c @@ -33,39 +33,14 @@ #include #include +#include #include "gribfuncs.h" -int rg_write_grib(PDS_INPUT *pds, grid_desc_sec *gds, char filename[], - float **data) -{ - char tmpfile[240]; - char tmpstring[240]; - FILE *fid; - int status; - - sprintf(tmpfile,"/tmp/tmpgribfile_%d",getpid()); - fid = fopen(tmpfile,"wb"); - if (fid == NULL) { - fprintf(stderr,"rg_write_grib: Could not open %s\n",tmpfile); - return -1; - } - - status = rg_fwrite_grib(pds,gds,data,fid); - if (status != 1) - { - fprintf(stderr,"rg_write_grib: rg_fwrite_grib failed\n"); - return -1; - } - - /* append tmpfile to filename */ - sprintf(tmpstring,"cat %s >> %s",tmpfile,filename); - system(tmpstring); - unlink(tmpfile); - - close(fid); - - return(1); -} +#if defined(_WIN32) +#include +#else +#include +#endif int rg_fwrite_grib(PDS_INPUT *pds, grid_desc_sec *gds, float **data, FILE *fid) { @@ -188,3 +163,35 @@ int rg_fwrite_grib(PDS_INPUT *pds, grid_desc_sec *gds, float **data, FILE *fid) return 1; } + +int rg_write_grib(PDS_INPUT *pds, grid_desc_sec *gds, char filename[], + float **data) +{ + char tmpfile[240]; + char tmpstring[240]; + FILE *fid; + int status; + + sprintf(tmpfile,"/tmp/tmpgribfile_%d",getpid()); + fid = fopen(tmpfile,"wb"); + if (fid == NULL) { + fprintf(stderr,"rg_write_grib: Could not open %s\n",tmpfile); + return -1; + } + + status = rg_fwrite_grib(pds,gds,data,fid); + if (status != 1) + { + fprintf(stderr,"rg_write_grib: rg_fwrite_grib failed\n"); + return -1; + } + + /* append tmpfile to filename */ + sprintf(tmpstring,"cat %s >> %s",tmpfile,filename); + system(tmpstring); + unlink(tmpfile); + + fclose(fid); + + return(1); +} diff --git a/external/io_grib1/gribmap.c b/external/io_grib1/gribmap.c index 0ad686c2fc..bfd0aa30df 100644 --- a/external/io_grib1/gribmap.c +++ b/external/io_grib1/gribmap.c @@ -1,6 +1,8 @@ #include #include +#include #include "gribmap.h" +#include "trim.h" /****************************************************************************** * diff --git a/external/io_grib1/gribmap.h b/external/io_grib1/gribmap.h index 24b56f1aca..9b5d76e501 100644 --- a/external/io_grib1/gribmap.h +++ b/external/io_grib1/gribmap.h @@ -52,5 +52,5 @@ int GET_GRIB1_TABLES_SIZE (int *size); int LOAD_GRIB1_TABLES (char filename[], Grib1_Tables *grib_tables, int *ret, int strlen1); - +int FREE_GRIBMAP(Grib1_Tables *grib_tables); Grib1_Tables *copy_grib_tables(Grib1_Tables *); diff --git a/external/io_grib1/trim.c b/external/io_grib1/trim.c index cb219ad645..3f06fbe472 100644 --- a/external/io_grib1/trim.c +++ b/external/io_grib1/trim.c @@ -1,5 +1,6 @@ #include #include +#include char *trim (char *str) { diff --git a/external/io_grib1/trim.h b/external/io_grib1/trim.h new file mode 100644 index 0000000000..550f765a5f --- /dev/null +++ b/external/io_grib1/trim.h @@ -0,0 +1,2 @@ +char *trim (char *str); + diff --git a/external/io_grib_share/get_region_center.c b/external/io_grib_share/get_region_center.c index d708656c1e..68ad5f7bc5 100644 --- a/external/io_grib_share/get_region_center.c +++ b/external/io_grib_share/get_region_center.c @@ -2,6 +2,7 @@ #include "gridnav.h" #include #include +#include #include "wrf_projection.h" diff --git a/external/io_grib_share/open_file.c b/external/io_grib_share/open_file.c index 673b8ff544..5051518030 100644 --- a/external/io_grib_share/open_file.c +++ b/external/io_grib_share/open_file.c @@ -4,6 +4,10 @@ #ifdef _WIN32 #include +#include +#else +#include +#include #endif #ifndef CRAY diff --git a/frame/pack_utils.c b/frame/pack_utils.c index d7669ccfd5..fcdf81ea97 100644 --- a/frame/pack_utils.c +++ b/frame/pack_utils.c @@ -59,6 +59,7 @@ /* CALL int_pack_data ( hdrbuf , hdrbufsiz * inttypesize , int_local_output_buffer, int_local_output_cursor ) */ +void INT_PACK_DATA ( unsigned char *buf , int *ninbytes , unsigned char *obuf, int *cursor ) { int i, lcurs ; @@ -372,6 +373,7 @@ void *malloc(size_t size) # endif # if !defined(MS_SUA) && !defined(_WIN32) # include +int RSL_INTERNAL_MICROCLOCK () { struct timeval tb ; diff --git a/tools/Makefile b/tools/Makefile index a2c0acf50b..f3922dcdad 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -3,7 +3,7 @@ CC_TOOLS = cc CFLAGS = $(CC_TOOLS_CFLAGS) #-ansi LDFLAGS = -DEBUG = -g +DEBUG = -O0 #-g OBJ = registry.o my_strtok.o reg_parse.o data.o type.o misc.o \ gen_defs.o gen_allocs.o gen_mod_state_descr.o gen_scalar_indices.o \ gen_args.o gen_config.o sym.o symtab_gen.o gen_irr_diag.o \ diff --git a/tools/gen_config.c b/tools/gen_config.c index fc6573975f..c07be2e919 100644 --- a/tools/gen_config.c +++ b/tools/gen_config.c @@ -5,6 +5,7 @@ #include "registry.h" #include "data.h" #include +#include #ifndef _WIN32 # include #endif diff --git a/tools/gen_interp.c b/tools/gen_interp.c index a4a504228c..e2a49ae914 100644 --- a/tools/gen_interp.c +++ b/tools/gen_interp.c @@ -377,7 +377,7 @@ fprintf(fp," ngrid%%parent_grid_ratio, ngrid%%parent_grid_ratio strcpy( tmpstr , pp->interpu_aux_fields ) ; } else if ( down_path & FORCE_DOWN ) { /* by default, add the boundary and boundary tendency fields to the arg list */ - if ( ! p->node_kind & FOURD ) { + if ( (! p->node_kind) & FOURD ) { sprintf( tmpstr , "%s_b,%s_bt,", pp->name, pp->name ) ; } else { sprintf( tmpstr , "%s_b,%s_bt,", p->name, p->name ) ; @@ -546,8 +546,8 @@ gen_nest_interp2 ( FILE * fp , node_t * node, char * fourdname, int down_path , set_dim_strs2 ( p , ddim , mdim , pdim , "", 1 ) ; } if ( !strcmp ( ddim[0][1], "kde") || - ( ddim[1][1], "kde") || - ( ddim[2][1], "kde")) { + !strcmp ( ddim[1][1], "kde") || + !strcmp ( ddim[2][1], "kde")) { if ( p->ntl > 1 ) { sprintf(tag,"_2") ; sprintf(tag2,"_%d", use_nest_time_level) ; } else { sprintf(tag,"") ; sprintf(tag2,"") ; } diff --git a/tools/gen_irr_diag.c b/tools/gen_irr_diag.c index 40c4219450..34e1dc8fb5 100644 --- a/tools/gen_irr_diag.c +++ b/tools/gen_irr_diag.c @@ -5,6 +5,7 @@ #include #include #include +#include int nChmOpts = 0; char rxt_tbl[5][1000][128]; @@ -254,12 +255,12 @@ int irr_diag_scalar_indices( char *dirname ) strcat( line,piece ); } strcat( line," /)\n" ); - fprintf( fp_inc,line ); + fprintf( fp_inc,"%s",line ); fprintf( fp_inc," \n"); for( i = 0; i < nChmOpts; i++ ) { sprintf( line," chm_opts_name(%d) = '%s'\n",i+1,chm_scheme[i]); - fprintf( fp_inc,line ); + fprintf( fp_inc,"%s",line ); } fprintf( fp_inc," \n"); @@ -272,10 +273,10 @@ int irr_diag_scalar_indices( char *dirname ) strcat( line,piece ); } strcat( line," /)\n" ); - fprintf( fp_inc,line ); + fprintf( fp_inc,"%s",line ); fprintf( fp_inc," \n"); - for( i = 0; i < nChmOpts,rxt_cnt[i] > 0; i++ ) { + for( i = 0; i < nChmOpts & rxt_cnt[i] > 0; i++ ) { for( j = 0; j < rxt_cnt[i]; j++ ) { sprintf( line," rxtsym(%d,%d) = '%s'\n",j+1,i+1,rxt_tbl[i][j]); fprintf( fp_inc,"%s",line); diff --git a/tools/gen_streams.c b/tools/gen_streams.c index f93cf3989d..a901c87118 100644 --- a/tools/gen_streams.c +++ b/tools/gen_streams.c @@ -539,6 +539,7 @@ gen_shutdown_closes ( FILE *fp ) } /* generate the calls that main/wrf_ESMFMod.F uses in wrf_state_populate() */ +int gen_med_open_esmf_calls ( FILE *fp ) { int i ; @@ -569,6 +570,7 @@ gen_med_open_esmf_calls ( FILE *fp ) } /* generate the calls that main/wrf_ESMFMod.F uses in wrf_state_populate() */ +int gen_med_find_esmf_coupling ( FILE *fp ) { int i ; diff --git a/tools/gen_wrf_io.c b/tools/gen_wrf_io.c index 87c539b6e0..8c8bd39135 100644 --- a/tools/gen_wrf_io.c +++ b/tools/gen_wrf_io.c @@ -85,7 +85,7 @@ gen_wrf_io2 ( FILE * fp , char * fname, char * structname , char * fourdname, no { - if ( p->ndims > 3 && ! p->node_kind & FOURD ) continue ; /* short circuit anything with more than 3 dims, (not counting 4d arrays) */ + if ( p->ndims > 3 && (! p->node_kind) & FOURD ) continue ; /* short circuit anything with more than 3 dims, (not counting 4d arrays) */ if ( p->node_kind & I1 ) continue ; /* short circuit anything that's not a state var */ diff --git a/tools/misc.c b/tools/misc.c index e0a00938dc..a794fd692a 100644 --- a/tools/misc.c +++ b/tools/misc.c @@ -6,6 +6,8 @@ # define index(X,Y) strchr(X,Y) #else # include +# include +# include #endif #include "protos.h" diff --git a/tools/protos.h b/tools/protos.h index 0191e8f4af..e218b64a6f 100644 --- a/tools/protos.h +++ b/tools/protos.h @@ -30,6 +30,9 @@ int print_warning( FILE * fp , char * fname ) ; int close_the_file( FILE * fp ) ; int make_entries_uniq ( char * fname ) ; int add_warning ( char * fname ) ; +int gen_dummy_decls ( char * dn ); +int gen_dummy_decls_new ( char * dn ); +int gen_i1_decls ( char * dn ); node_t * get_type_entry ( char * typename ) ; node_t * get_rconfig_entry( char * name ) ; @@ -157,6 +160,67 @@ void set_mask ( unsigned int * mask , int e ) ; int get_mask ( unsigned int * mask , int e ) ; int dims_ikj_inner(node_t *); int dims_ij_inner(node_t *); + +char *make_upper_case ( char * str ); +char *make_lower_case ( char * str ); +int sym_forget(); +int init_parser(); +int pre_parse( char * dir, FILE * infile, FILE * outfile ); +int check_dimspecs(); +int set_dim_order ( char * dimorder , node_t * dim_entry ); + +int gen_actual_args ( char * dirname ); +int gen_actual_args_new ( char * dirname ); +int gen_dummy_args ( char * dirname ); +int gen_dummy_args_new ( char * dirname ); +int gen_args ( char * dirname , int sw ); +int gen_args1 ( FILE * fp , char * outstr , char * structname , + node_t * node , int *linelen , int sw , int deep ); + + +int gen_namelist_defines ( char * dirname , int sw_dimension ); +int gen_namelist_defaults ( char * dirname ); +int gen_namelist_statements ( char * dirname ); +int gen_namelist_script ( char * dirname ); +int gen_get_nl_config ( char * dirname ); +int gen_config_assigns ( char * dirname ); +int gen_config_reads ( char * dirname ); + +int as_long(char *str,long *l); +int as_finite_double(char *str,double *d); +int contains_str( char *s1, char *s2 ); +int contains_tok( char *s1, char *s2, char *delims ); +int gen_nest_v_interp ( char * dirname ); +int gen_nest_interp ( char * dirname ); +int gen_nest_interp1 ( FILE * fp , node_t * node, char * fourdname, int down_path , int use_nest_time_level ); +int gen_nest_interp2 ( FILE * fp , node_t * node, char * fourdname, int down_path , int use_nest_time_level ); + + +int gen_streams( char * dirname ); +int gen_io_domain_defs ( FILE * fp ); +int gen_set_timekeeping_defs ( FILE *fp ); +int gen_io_form_for_dataset ( FILE *fp ); +int gen_io_form_for_stream ( FILE *fp ); +int gen_switches_and_alarms ( FILE *fp ); +int gen_check_auxstream_alarms ( FILE *fp ); +int gen_fine_stream_input ( FILE *fp ); +int gen_med_auxinput_in ( FILE *fp ); +int gen_med_hist_out_opens ( FILE *fp ); +int gen_med_hist_out_closes ( FILE *fp ); +int gen_med_auxinput_in_closes ( FILE *fp ); +int gen_med_last_solve_io ( FILE *fp ); +int gen_shutdown_closes ( FILE *fp ); +int gen_med_open_esmf_calls ( FILE *fp ); +int gen_med_find_esmf_coupling ( FILE *fp ); +int gen_io_boilerplate (); + +int gen_comms ( char * dirname ); + +int gen_set_timekeeping_alarms ( FILE * fp ); + +int create_ht(char *** p ); + + #define PROTOS_H #endif diff --git a/tools/reg_parse.c b/tools/reg_parse.c index 01176c0ea4..0b3144ad15 100644 --- a/tools/reg_parse.c +++ b/tools/reg_parse.c @@ -6,6 +6,7 @@ # define index(X,Y) strchr(X,Y) #else # include +# include #endif #include "registry.h" @@ -255,7 +256,7 @@ pre_parse( char * dir, FILE * infile, FILE * outfile ) if ( !strcmp( tokens[F_USE] , tracers[i] ) ) found = 1 ; } if ( found == 0 ) { - sprintf(tracers[ntracers],tokens[F_USE]) ; + sprintf(tracers[ntracers],"%s",tokens[F_USE]) ; ntracers++ ; /* add entries for _b and _bt arrays */ @@ -1057,7 +1058,7 @@ check_dimspecs() p->assoc_nl_var_s,p->name ) ; return(1) ; } - if ( ! q->node_kind & RCONFIG ) + if ( (! q->node_kind) & RCONFIG ) { fprintf(stderr,"WARNING: no namelist variable %s defined for dimension %s\n", p->assoc_nl_var_s,p->name ) ; @@ -1082,7 +1083,7 @@ check_dimspecs() p->assoc_nl_var_e,p->name ) ; return(1) ; } - if ( ! q->node_kind & RCONFIG ) + if ( (! q->node_kind) & RCONFIG ) { fprintf(stderr,"WARNING: no namelist variable %s defined for dimension %s\n", p->assoc_nl_var_e,p->name ) ; diff --git a/tools/sym.c b/tools/sym.c index de41c2d965..b8c1aaa1ba 100644 --- a/tools/sym.c +++ b/tools/sym.c @@ -61,12 +61,41 @@ */ #include +#include +#include "protos.h" #include "sym.h" -extern sym_nodeptr symget() ; +extern sym_nodeptr symget(char *name, sym_nodeptr (*newnode)(), char **(*nodename)(sym_nodeptr), sym_nodeptr *(*nodenext)(sym_nodeptr), char ** symtab, int flag); static char ** symtab ; /* 2-19-90 */ +sym_nodeptr +new_sym_node() +{ + sym_nodeptr p ; + p = (sym_nodeptr) malloc( sizeof( struct sym_node ) ) ; + p->name = NULL ; + p->next = NULL ; + + return( p ) ; +} + +char ** +node_name(sym_nodeptr p) +{ + char ** x ; + x = &(p->name) ; + return( x ) ; +} + +sym_nodeptr * +node_next(sym_nodeptr p) +{ + sym_nodeptr *x ; + x = &(p->next) ; + return( x ) ; +} + int sym_init() /* 2-19-90, initialize symbol table package */ { @@ -80,58 +109,29 @@ sym_init() /* 2-19-90, initialize symbol table package */ } sym_nodeptr -sym_add( name ) -char * name ; +sym_add( char * name ) { +/* sym_nodeptr new_sym_node(); char **node_name() ; sym_nodeptr *node_next() ; +*/ return( symget( name, new_sym_node, node_name, node_next, symtab, 1 ) ) ; } sym_nodeptr -sym_get( name ) -char * name ; +sym_get( char * name ) { +/* sym_nodeptr new_sym_node(); char **node_name() ; sym_nodeptr *node_next() ; +*/ return( symget( name, new_sym_node, node_name, node_next, symtab, 0 ) ) ; } -sym_nodeptr -new_sym_node() -{ - void * malloc() ; - sym_nodeptr p ; - p = (sym_nodeptr) malloc( sizeof( struct sym_node ) ) ; - p->name = NULL ; - p->next = NULL ; - - return( p ) ; -} - -char ** -node_name(p) -sym_nodeptr p ; -{ - char ** x ; - x = &(p->name) ; - return( x ) ; -} - -sym_nodeptr * -node_next(p) -sym_nodeptr p ; -{ - sym_nodeptr *x ; - x = &(p->next) ; - return( x ) ; -} - int -show_entry(x) -sym_nodeptr x ; +show_entry(sym_nodeptr x) { int i ; if ( x == NULL ) return(0) ; diff --git a/tools/sym.h b/tools/sym.h index 9431f5d2b8..64d8a25294 100644 --- a/tools/sym.h +++ b/tools/sym.h @@ -89,7 +89,7 @@ struct sym_node int marked ; /* general purpose marker */ } ; -sym_nodeptr sym_add() ; -sym_nodeptr sym_get() ; +sym_nodeptr sym_add(char *) ; +sym_nodeptr sym_get(char *) ; #endif diff --git a/tools/symtab_gen.c b/tools/symtab_gen.c index 47870f6c88..00584dc561 100644 --- a/tools/symtab_gen.c +++ b/tools/symtab_gen.c @@ -32,25 +32,24 @@ For a sample main or calling program see the end of this file. */ #include +#include #include #ifndef _WIN32 # include #endif +#include "protos.h" #define HASHSIZE 1024 /* commented out 2-29-90 static char * symtab[HASHSIZE] ; */ - +/* void * malloc() ; void * calloc() ; +*/ -char * symget(name,newnode,nodename,nodenext,symtab,flag) -char *name ; -char *(*newnode)(), **(*nodename)(), **(*nodenext)() ; -char *symtab[] ; -int flag ; /* 1 is create if not there, 0 return NULL if not there */ +char * symget(char *name,char *(*newnode)(),char **(*nodename)(char *),char **(*nodenext)(char *), char *symtab[], int flag) /* flag = 1 is create if not there, 0 return NULL if not there */ { int index ; int found ; @@ -95,8 +94,7 @@ int flag ; /* 1 is create if not there, 0 return NULL if not there */ } int -hash(name) -char * name ; +hash(char * name) { register int result = 0 ; register char * p = name ; @@ -114,8 +112,7 @@ char * name ; /* added 2-19-90, attaches a new hash table to pointer */ int -create_ht( p ) -char *** p ; +create_ht( char *** p ) { *p = (char **) calloc( HASHSIZE , sizeof( char * ) ) ; return(0) ; @@ -130,11 +127,7 @@ function to each entry */ -int -sym_traverse( ht, nodenext, f ) -char *ht[] ; -char **(*nodenext)() ; -void (*f)() ; +int sym_traverse( char *ht[] , char **(*nodenext)(char *), void (*f)(char *) ) { char * p, **x ; int i ; @@ -173,25 +166,21 @@ struct symnode { extern struct symnode * symget() ; -struct symnode * -newnode() +struct symnode * newnode() { struct symnode * malloc() ; return( malloc( sizeof( struct symnode ) ) ) ; } char ** -nodename(p) -struct symnode *p ; +nodename(struct symnode *p) { char ** x ; x = &(p->name) ; return( x ) ; } -struct symnode ** -nodenext(p) -struct symnode *p ; +struct symnode ** nodenext(struct symnode *p) { struct symnode **x ; x = &(p->next) ; From 736188253339eacaf664a6d1e90f3cb8e679b115 Mon Sep 17 00:00:00 2001 From: ahheo Date: Thu, 30 Nov 2023 11:35:39 +0800 Subject: [PATCH 2/9] restore icc stanza & add icx stanza --- arch/configure.defaults | 58 ++++++++++++++++++++++++++++++++++---- chem/KPP/util/wkc/Makefile | 2 +- tools/Makefile | 2 +- 3 files changed, 54 insertions(+), 8 deletions(-) diff --git a/arch/configure.defaults b/arch/configure.defaults index e3d0fdcbaf..0910345b8e 100644 --- a/arch/configure.defaults +++ b/arch/configure.defaults @@ -304,12 +304,12 @@ DESCRIPTION = INTEL ($SFC/$SCC) DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -qopenmp -fpp -auto -OMPCC = # -qopenmp -SFC = ifx # ifort -SCC = icx # icc -CCOMP = icx # icc -DM_FC = mpiifx #mpif90 -f90=$(SFC) -DM_CC = mpiicx #mpicc -cc=$(SCC) +OMPCC = # -qopenmp -fpp -auto +SFC = ifort +SCC = icc +CCOMP = icc +DM_FC = mpif90 -f90=$(SFC) +DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) @@ -2124,6 +2124,52 @@ NETCDFPAR_BUILD = CONFIGURE_NETCDFPAR_BUILD #insert new stanza here +########################################################### +#ARCH Linux x86_64 ppc64le i486 i586 i686, Intel oneAPI compiler with icx #serial smpar dmpar dm+sm +# This mirrors the above Intel build but changes ifort=>ifx icc=>icx + +DESCRIPTION = INTEL ($SFC/$SCC) : oneAPI LLVM +DMPARALLEL = # 1 +OMPCPP = # -D_OPENMP +OMP = # -qopenmp -fpp -auto +OMPCC = # -qopenmp +SFC = ifx +SCC = icx +CCOMP = icx +DM_FC = mpif90 -f90=$(SFC) +DM_CC = mpicc -cc=$(SCC) +FC = CONFIGURE_FC +CC = CONFIGURE_CC +LD = $(FC) +RWORDSIZE = CONFIGURE_RWORDSIZE +PROMOTION = -real-size `expr 8 \* $(RWORDSIZE)` -i4 +ARCH_LOCAL = -DNONSTANDARD_SYSTEM_FUNC CONFIGURE_D_CTSM +CFLAGS_LOCAL = -w -O3 -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars # -DRSL0_ONLY +LDFLAGS_LOCAL = -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common +CPLUSPLUSLIB = +ESMF_LDFLAG = $(CPLUSPLUSLIB) +FCOPTIM = -O3 +FCREDUCEDOPT = $(FCOPTIM) +FCNOOPT = -O0 -fno-inline -no-ip +FCDEBUG = # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u +FORMAT_FIXED = -FI +FORMAT_FREE = -FR +FCSUFFIX = +BYTESWAPIO = -convert big_endian +RECORDLENGTH = -assume byterecl +FCBASEOPTS_NO_G = -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common +FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) +MODULE_SRCH_FLAG = +TRADFLAG = CONFIGURE_TRADFLAG +CPP = /lib/cpp CONFIGURE_CPPFLAGS +AR = ar +ARFLAGS = ru +M4 = m4 +RANLIB = ranlib +RLFLAGS = +CC_TOOLS = $(SCC) +NETCDFPAR_BUILD = CONFIGURE_NETCDFPAR_BUILD + ########################################################### #ARCH Linux aarch64, GCC compiler OpenMPI # serial smpar dmpar dm+sm # diff --git a/chem/KPP/util/wkc/Makefile b/chem/KPP/util/wkc/Makefile index fd315b72f3..92e44f5c83 100644 --- a/chem/KPP/util/wkc/Makefile +++ b/chem/KPP/util/wkc/Makefile @@ -6,7 +6,7 @@ include ../../configure.kpp CFLAGS = #-ansi LDFLAGS = -DEBUG = -O0 #-g +DEBUG = -O0 -g OBJ = registry_kpp.o my_strtok.o data.o type.o misc.o reg_parse.o \ gen_kpp.o get_wrf_chem_specs.o gen_kpp_mech_dr.o gen_kpp_interface.o \ get_kpp_chem_specs.o compare_kpp_to_species.o get_wrf_radicals.o \ diff --git a/tools/Makefile b/tools/Makefile index f3922dcdad..d413feeb71 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -3,7 +3,7 @@ CC_TOOLS = cc CFLAGS = $(CC_TOOLS_CFLAGS) #-ansi LDFLAGS = -DEBUG = -O0 #-g +DEBUG = -O0 -g OBJ = registry.o my_strtok.o reg_parse.o data.o type.o misc.o \ gen_defs.o gen_allocs.o gen_mod_state_descr.o gen_scalar_indices.o \ gen_args.o gen_config.o sym.o symtab_gen.o gen_irr_diag.o \ From 44e42dea1e14fb1ae03401ab3c5bdb49685b2cfa Mon Sep 17 00:00:00 2001 From: weiwangncar Date: Tue, 5 Dec 2023 04:25:54 -0700 Subject: [PATCH 3/9] remove an empty line in code.c to trigger a reg test. --- chem/KPP/kpp/kpp-2.1/src/code.c | 1 - 1 file changed, 1 deletion(-) diff --git a/chem/KPP/kpp/kpp-2.1/src/code.c b/chem/KPP/kpp/kpp-2.1/src/code.c index 467e9eb462..cc3ca9684a 100755 --- a/chem/KPP/kpp/kpp-2.1/src/code.c +++ b/chem/KPP/kpp/kpp-2.1/src/code.c @@ -99,7 +99,6 @@ FILE * mex_jacFile = 0; FILE * mex_hessFile = 0; FILE * wrf_UpdateRconstFile = 0; - FILE * currentFile; int ident = 0; From 26964a058a3e25148ed1b3bc860aabd111b43737 Mon Sep 17 00:00:00 2001 From: ahheo Date: Mon, 11 Dec 2023 16:48:32 +0800 Subject: [PATCH 4/9] remove duplicated type declaration in gen_comms.c --- external/RSL_LITE/gen_comms.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/external/RSL_LITE/gen_comms.c b/external/RSL_LITE/gen_comms.c index 1598020eb4..d62c5cb5af 100644 --- a/external/RSL_LITE/gen_comms.c +++ b/external/RSL_LITE/gen_comms.c @@ -1220,10 +1220,8 @@ fprintf(fp,"CALL wrf_debug(3,'calling RSL_LITE_INIT_EXCH %s for Y %s')\n",maxste int #if ( WRFPLUS == 1 ) -int gen_packs_halo ( FILE *fp , node_t *p, char *shw, int xy /* 0=y,1=x */ , int pu /* 0=pack,1=unpack */, int nta /* 0=NLM,1=TLM,2=ADM*/, char * packname, char * commname, int always_interp_mp ) #else -int gen_packs_halo ( FILE *fp , node_t *p, char *shw, int xy /* 0=y,1=x */ , int pu /* 0=pack,1=unpack */, char * packname, char * commname, int always_interp_mp ) #endif { From 7649cf6c1011f6d003c7e440deaff8a6c77754f2 Mon Sep 17 00:00:00 2001 From: jordanschnell Date: Mon, 12 Feb 2024 12:56:41 -0500 Subject: [PATCH 5/9] Update gen_kpp.c comment commit for reg test --- chem/KPP/util/wkc/gen_kpp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chem/KPP/util/wkc/gen_kpp.c b/chem/KPP/util/wkc/gen_kpp.c index d40c71c24b..63dcd2f853 100644 --- a/chem/KPP/util/wkc/gen_kpp.c +++ b/chem/KPP/util/wkc/gen_kpp.c @@ -220,7 +220,7 @@ gen_kpp ( char * inc_dirname, char * kpp_dirname ) screen_out( ); - /* make sure that wrf and kpp variables match and stop if not. */ + /* make sure that WRF and kpp variables match and stop if not. */ if ( DEBUGR == 1 ) printf("next: check_all \n"); check_all ( kpp_dirname ); From 911facc5e3403046881343019a2f60e4c47809e3 Mon Sep 17 00:00:00 2001 From: ahheo Date: Fri, 16 Feb 2024 17:18:42 +0800 Subject: [PATCH 6/9] changes suggested by islas --- chem/KPP/kpp/kpp-2.1/src/gen.c | 1 - chem/KPP/kpp/kpp-2.1/src/scan.l | 1 - chem/KPP/kpp/kpp-2.1/src/scan.y | 3 --- chem/KPP/util/wkc/kpp_data.c | 2 +- compile | 31 +++++++++++++++++++++---------- tools/gen_irr_diag.c | 2 +- tools/gen_wrf_io.c | 2 +- 7 files changed, 24 insertions(+), 18 deletions(-) diff --git a/chem/KPP/kpp/kpp-2.1/src/gen.c b/chem/KPP/kpp/kpp-2.1/src/gen.c index bff24e1542..986138418a 100755 --- a/chem/KPP/kpp/kpp-2.1/src/gen.c +++ b/chem/KPP/kpp/kpp-2.1/src/gen.c @@ -2171,7 +2171,6 @@ int UPDATE_RCONST; F77_Inline(" INCLUDE '%s_Global.h'", rootFileName); MATLAB_Inline("global SUN TEMP RCONST"); -/* if ( (useLang==F77_LANG) ) *//*commented to suppress warning*/ if ( useLang==F77_LANG ) IncludeCode( "%s/util/UserRateLaws_FcnHeader", Home ); diff --git a/chem/KPP/kpp/kpp-2.1/src/scan.l b/chem/KPP/kpp/kpp-2.1/src/scan.l index ed2c3edc43..b8ae115ed3 100755 --- a/chem/KPP/kpp/kpp-2.1/src/scan.l +++ b/chem/KPP/kpp/kpp-2.1/src/scan.l @@ -42,7 +42,6 @@ #include "scan.h" #include "y.tab.h" -// void*malloc() ; void Include ( char * filename ); int EndInclude(); diff --git a/chem/KPP/kpp/kpp-2.1/src/scan.y b/chem/KPP/kpp/kpp-2.1/src/scan.y index 63c72b9fda..7810ab08f5 100755 --- a/chem/KPP/kpp/kpp-2.1/src/scan.y +++ b/chem/KPP/kpp/kpp-2.1/src/scan.y @@ -66,10 +66,7 @@ %} %union{ -/* >>> CL: debug */ -/* char str[80]; */ char str[500]; -/* <<< CL */ }; %token JACOBIAN DOUBLE FUNCTION DEFVAR DEFRAD DEFFIX SETVAR SETRAD SETFIX diff --git a/chem/KPP/util/wkc/kpp_data.c b/chem/KPP/util/wkc/kpp_data.c index 28bf11f1dc..b7f0362a4e 100644 --- a/chem/KPP/util/wkc/kpp_data.c +++ b/chem/KPP/util/wkc/kpp_data.c @@ -11,7 +11,7 @@ knode_t * -new_knode ( ) //new_knode ( int * kind ) +new_knode ( ) { knode_t *p ; p = (knode_t *)malloc(sizeof(knode_t)) ; bzero(p,sizeof(knode_t)); return (p) ; } int diff --git a/compile b/compile index f0fc687728..0749cfcdef 100755 --- a/compile +++ b/compile @@ -409,17 +409,28 @@ else echo " " # remove comment text set comp = ( `grep "^SFC" configure.wrf | cut -d"#" -f1 | cut -d"=" -f2-` ) - if ( "$comp[1]" == "gfortran" ) then - gfortran --version - else if ( "$comp[1]" == "pgf90" ) then - pgf90 --version - else if ( "$comp[1]" == "ifort" ) then - ifort -V -# in case using ifx - else if ( "$comp[1]" == "ifx" ) then - ifx -V +# if ( "$comp[1]" == "gfortran" ) then +# gfortran --version +# else if ( "$comp[1]" == "pgf90" ) then +# pgf90 --version +# else if ( "$comp[1]" == "ifort" ) then +# ifort -V +## in case using ifx +# else if ( "$comp[1]" == "ifx" ) then +# ifx -V +# else +# echo "Not sure how to figure out the version of this compiler: $comp[1]" +# endif + $comp[1] -V >& /dev/null + if ( $status == 0 ) then + $comp[1] --version else - echo "Not sure how to figure out the version of this compiler: $comp[1]" + $comp[1] --version >& /dev/null + if ( $status == 0 ) then + $comp[1] -V + else + echo "Not sure how to figure out the version of this compiler: $comp[1]" + endif endif echo " " echo "============================================================================================== " diff --git a/tools/gen_irr_diag.c b/tools/gen_irr_diag.c index 34e1dc8fb5..048ab53af2 100644 --- a/tools/gen_irr_diag.c +++ b/tools/gen_irr_diag.c @@ -276,7 +276,7 @@ int irr_diag_scalar_indices( char *dirname ) fprintf( fp_inc,"%s",line ); fprintf( fp_inc," \n"); - for( i = 0; i < nChmOpts & rxt_cnt[i] > 0; i++ ) { + for( i = 0; i < nChmOpts && rxt_cnt[i] > 0; i++ ) { for( j = 0; j < rxt_cnt[i]; j++ ) { sprintf( line," rxtsym(%d,%d) = '%s'\n",j+1,i+1,rxt_tbl[i][j]); fprintf( fp_inc,"%s",line); diff --git a/tools/gen_wrf_io.c b/tools/gen_wrf_io.c index 8c8bd39135..0ba0c78294 100644 --- a/tools/gen_wrf_io.c +++ b/tools/gen_wrf_io.c @@ -85,7 +85,7 @@ gen_wrf_io2 ( FILE * fp , char * fname, char * structname , char * fourdname, no { - if ( p->ndims > 3 && (! p->node_kind) & FOURD ) continue ; /* short circuit anything with more than 3 dims, (not counting 4d arrays) */ + if ( p->ndims > 3 && ( (! p->node_kind) ) & FOURD ) continue ; /* short circuit anything with more than 3 dims, (not counting 4d arrays) */ if ( p->node_kind & I1 ) continue ; /* short circuit anything that's not a state var */ From 82447aac6e8411f41996f4b0d74f1d07d79d88d0 Mon Sep 17 00:00:00 2001 From: ahheo Date: Sun, 18 Feb 2024 13:17:26 +0800 Subject: [PATCH 7/9] changes suggested by islas #2 --- chem/Makefile | 531 +++++++++++++++++++++++++++++++++++++++++++++ compile | 13 -- tools/gen_wrf_io.c | 2 +- 3 files changed, 532 insertions(+), 14 deletions(-) diff --git a/chem/Makefile b/chem/Makefile index 9bf3acd38f..51b32d6c06 100755 --- a/chem/Makefile +++ b/chem/Makefile @@ -1,3 +1,8 @@ +# +# MANUAL CHANGES TO THIS FILE WILL BE LOST +# ... EDIT Makefile_org INSTEAD ... +# this file was written by gen_kpp.c + # # Changing this file requires mods to # WRFV3_top/chem/KPP/util/wkc/change_chem_Makefile.c @@ -56,6 +61,217 @@ MODULES = \ module_data_soa_vbs_het.o \ module_data_sorgam.o \ module_data_sorgam_vbs.o \ + module_kpp_nmhc9_Integr.o \ + module_kpp_nmhc9_Precision.o \ + module_kpp_nmhc9_Parameters.o \ + module_kpp_nmhc9_Jacobian.o \ + module_kpp_nmhc9_JacobianSP.o \ + module_kpp_nmhc9_Update_Rconst.o \ + module_kpp_nmhc9_interface.o \ + module_kpp_cri_mosaic_4bin_aq_Integr.o \ + module_kpp_cri_mosaic_4bin_aq_Precision.o \ + module_kpp_cri_mosaic_4bin_aq_Parameters.o \ + module_kpp_cri_mosaic_4bin_aq_Jacobian.o \ + module_kpp_cri_mosaic_4bin_aq_JacobianSP.o \ + module_kpp_cri_mosaic_4bin_aq_Update_Rconst.o \ + module_kpp_cri_mosaic_4bin_aq_interface.o \ + module_kpp_mozart_Integr.o \ + module_kpp_mozart_Precision.o \ + module_kpp_mozart_Parameters.o \ + module_kpp_mozart_Jacobian.o \ + module_kpp_mozart_JacobianSP.o \ + module_kpp_mozart_Update_Rconst.o \ + module_kpp_mozart_interface.o \ + module_kpp_cbmz_bb_Integr.o \ + module_kpp_cbmz_bb_Precision.o \ + module_kpp_cbmz_bb_Parameters.o \ + module_kpp_cbmz_bb_Jacobian.o \ + module_kpp_cbmz_bb_JacobianSP.o \ + module_kpp_cbmz_bb_Update_Rconst.o \ + module_kpp_cbmz_bb_interface.o \ + module_kpp_saprc99_mosaic_4bin_vbs2_Integr.o \ + module_kpp_saprc99_mosaic_4bin_vbs2_Precision.o \ + module_kpp_saprc99_mosaic_4bin_vbs2_Parameters.o \ + module_kpp_saprc99_mosaic_4bin_vbs2_Jacobian.o \ + module_kpp_saprc99_mosaic_4bin_vbs2_JacobianSP.o \ + module_kpp_saprc99_mosaic_4bin_vbs2_Update_Rconst.o \ + module_kpp_saprc99_mosaic_4bin_vbs2_interface.o \ + module_kpp_cbm4_Integr.o \ + module_kpp_cbm4_Precision.o \ + module_kpp_cbm4_Parameters.o \ + module_kpp_cbm4_Jacobian.o \ + module_kpp_cbm4_JacobianSP.o \ + module_kpp_cbm4_Update_Rconst.o \ + module_kpp_cbm4_interface.o \ + module_kpp_mozart_mosaic_4bin_aq_Integr.o \ + module_kpp_mozart_mosaic_4bin_aq_Precision.o \ + module_kpp_mozart_mosaic_4bin_aq_Parameters.o \ + module_kpp_mozart_mosaic_4bin_aq_Jacobian.o \ + module_kpp_mozart_mosaic_4bin_aq_JacobianSP.o \ + module_kpp_mozart_mosaic_4bin_aq_Update_Rconst.o \ + module_kpp_mozart_mosaic_4bin_aq_interface.o \ + module_kpp_racm_esrlsorg_aqchem_Integr.o \ + module_kpp_racm_esrlsorg_aqchem_Precision.o \ + module_kpp_racm_esrlsorg_aqchem_Parameters.o \ + module_kpp_racm_esrlsorg_aqchem_Jacobian.o \ + module_kpp_racm_esrlsorg_aqchem_JacobianSP.o \ + module_kpp_racm_esrlsorg_aqchem_Update_Rconst.o \ + module_kpp_racm_esrlsorg_aqchem_interface.o \ + module_kpp_t1_mozcart_Integr.o \ + module_kpp_t1_mozcart_Precision.o \ + module_kpp_t1_mozcart_Parameters.o \ + module_kpp_t1_mozcart_Jacobian.o \ + module_kpp_t1_mozcart_JacobianSP.o \ + module_kpp_t1_mozcart_Update_Rconst.o \ + module_kpp_t1_mozcart_interface.o \ + module_kpp_cbmz_mosaic_Integr.o \ + module_kpp_cbmz_mosaic_Precision.o \ + module_kpp_cbmz_mosaic_Parameters.o \ + module_kpp_cbmz_mosaic_Jacobian.o \ + module_kpp_cbmz_mosaic_JacobianSP.o \ + module_kpp_cbmz_mosaic_Update_Rconst.o \ + module_kpp_cbmz_mosaic_interface.o \ + module_kpp_racmsorg_Integr.o \ + module_kpp_racmsorg_Precision.o \ + module_kpp_racmsorg_Parameters.o \ + module_kpp_racmsorg_Jacobian.o \ + module_kpp_racmsorg_JacobianSP.o \ + module_kpp_racmsorg_Update_Rconst.o \ + module_kpp_racmsorg_interface.o \ + module_kpp_racm_soa_vbs_het_Integr.o \ + module_kpp_racm_soa_vbs_het_Precision.o \ + module_kpp_racm_soa_vbs_het_Parameters.o \ + module_kpp_racm_soa_vbs_het_Jacobian.o \ + module_kpp_racm_soa_vbs_het_JacobianSP.o \ + module_kpp_racm_soa_vbs_het_Update_Rconst.o \ + module_kpp_racm_soa_vbs_het_interface.o \ + module_kpp_mozcart_Integr.o \ + module_kpp_mozcart_Precision.o \ + module_kpp_mozcart_Parameters.o \ + module_kpp_mozcart_Jacobian.o \ + module_kpp_mozcart_JacobianSP.o \ + module_kpp_mozcart_Update_Rconst.o \ + module_kpp_mozcart_interface.o \ + module_kpp_mozart_mosaic_4bin_Integr.o \ + module_kpp_mozart_mosaic_4bin_Precision.o \ + module_kpp_mozart_mosaic_4bin_Parameters.o \ + module_kpp_mozart_mosaic_4bin_Jacobian.o \ + module_kpp_mozart_mosaic_4bin_JacobianSP.o \ + module_kpp_mozart_mosaic_4bin_Update_Rconst.o \ + module_kpp_mozart_mosaic_4bin_interface.o \ + module_kpp_racmpm_Integr.o \ + module_kpp_racmpm_Precision.o \ + module_kpp_racmpm_Parameters.o \ + module_kpp_racmpm_Jacobian.o \ + module_kpp_racmpm_JacobianSP.o \ + module_kpp_racmpm_Update_Rconst.o \ + module_kpp_racmpm_interface.o \ + module_kpp_radm2_Integr.o \ + module_kpp_radm2_Precision.o \ + module_kpp_radm2_Parameters.o \ + module_kpp_radm2_Jacobian.o \ + module_kpp_radm2_JacobianSP.o \ + module_kpp_radm2_Update_Rconst.o \ + module_kpp_radm2_interface.o \ + module_kpp_cb05_sorg_aq_Integr.o \ + module_kpp_cb05_sorg_aq_Precision.o \ + module_kpp_cb05_sorg_aq_Parameters.o \ + module_kpp_cb05_sorg_aq_Jacobian.o \ + module_kpp_cb05_sorg_aq_JacobianSP.o \ + module_kpp_cb05_sorg_aq_Update_Rconst.o \ + module_kpp_cb05_sorg_aq_interface.o \ + module_kpp_racmsorg_aqchem_Integr.o \ + module_kpp_racmsorg_aqchem_Precision.o \ + module_kpp_racmsorg_aqchem_Parameters.o \ + module_kpp_racmsorg_aqchem_Jacobian.o \ + module_kpp_racmsorg_aqchem_JacobianSP.o \ + module_kpp_racmsorg_aqchem_Update_Rconst.o \ + module_kpp_racmsorg_aqchem_interface.o \ + module_kpp_racm_soa_vbs_aqchem_Integr.o \ + module_kpp_racm_soa_vbs_aqchem_Precision.o \ + module_kpp_racm_soa_vbs_aqchem_Parameters.o \ + module_kpp_racm_soa_vbs_aqchem_Jacobian.o \ + module_kpp_racm_soa_vbs_aqchem_JacobianSP.o \ + module_kpp_racm_soa_vbs_aqchem_Update_Rconst.o \ + module_kpp_racm_soa_vbs_aqchem_interface.o \ + module_kpp_crimech_Integr.o \ + module_kpp_crimech_Precision.o \ + module_kpp_crimech_Parameters.o \ + module_kpp_crimech_Jacobian.o \ + module_kpp_crimech_JacobianSP.o \ + module_kpp_crimech_Update_Rconst.o \ + module_kpp_crimech_interface.o \ + module_kpp_cri_mosaic_8bin_aq_Integr.o \ + module_kpp_cri_mosaic_8bin_aq_Precision.o \ + module_kpp_cri_mosaic_8bin_aq_Parameters.o \ + module_kpp_cri_mosaic_8bin_aq_Jacobian.o \ + module_kpp_cri_mosaic_8bin_aq_JacobianSP.o \ + module_kpp_cri_mosaic_8bin_aq_Update_Rconst.o \ + module_kpp_cri_mosaic_8bin_aq_interface.o \ + module_kpp_saprc99_Integr.o \ + module_kpp_saprc99_Precision.o \ + module_kpp_saprc99_Parameters.o \ + module_kpp_saprc99_Jacobian.o \ + module_kpp_saprc99_JacobianSP.o \ + module_kpp_saprc99_Update_Rconst.o \ + module_kpp_saprc99_interface.o \ + module_kpp_racm_soa_vbs_Integr.o \ + module_kpp_racm_soa_vbs_Precision.o \ + module_kpp_racm_soa_vbs_Parameters.o \ + module_kpp_racm_soa_vbs_Jacobian.o \ + module_kpp_racm_soa_vbs_JacobianSP.o \ + module_kpp_racm_soa_vbs_Update_Rconst.o \ + module_kpp_racm_soa_vbs_interface.o \ + module_kpp_cb05_sorg_vbs_aq_Integr.o \ + module_kpp_cb05_sorg_vbs_aq_Precision.o \ + module_kpp_cb05_sorg_vbs_aq_Parameters.o \ + module_kpp_cb05_sorg_vbs_aq_Jacobian.o \ + module_kpp_cb05_sorg_vbs_aq_JacobianSP.o \ + module_kpp_cb05_sorg_vbs_aq_Update_Rconst.o \ + module_kpp_cb05_sorg_vbs_aq_interface.o \ + module_kpp_racm_Integr.o \ + module_kpp_racm_Precision.o \ + module_kpp_racm_Parameters.o \ + module_kpp_racm_Jacobian.o \ + module_kpp_racm_JacobianSP.o \ + module_kpp_racm_Update_Rconst.o \ + module_kpp_racm_interface.o \ + module_kpp_racm_esrlsorg_Integr.o \ + module_kpp_racm_esrlsorg_Precision.o \ + module_kpp_racm_esrlsorg_Parameters.o \ + module_kpp_racm_esrlsorg_Jacobian.o \ + module_kpp_racm_esrlsorg_JacobianSP.o \ + module_kpp_racm_esrlsorg_Update_Rconst.o \ + module_kpp_racm_esrlsorg_interface.o \ + module_kpp_gocartracm_Integr.o \ + module_kpp_gocartracm_Precision.o \ + module_kpp_gocartracm_Parameters.o \ + module_kpp_gocartracm_Jacobian.o \ + module_kpp_gocartracm_JacobianSP.o \ + module_kpp_gocartracm_Update_Rconst.o \ + module_kpp_gocartracm_interface.o \ + module_kpp_radm2sorg_Integr.o \ + module_kpp_radm2sorg_Precision.o \ + module_kpp_radm2sorg_Parameters.o \ + module_kpp_radm2sorg_Jacobian.o \ + module_kpp_radm2sorg_JacobianSP.o \ + module_kpp_radm2sorg_Update_Rconst.o \ + module_kpp_radm2sorg_interface.o \ + module_kpp_saprc99_mosaic_8bin_vbs2_aq_Integr.o \ + module_kpp_saprc99_mosaic_8bin_vbs2_aq_Precision.o \ + module_kpp_saprc99_mosaic_8bin_vbs2_aq_Parameters.o \ + module_kpp_saprc99_mosaic_8bin_vbs2_aq_Jacobian.o \ + module_kpp_saprc99_mosaic_8bin_vbs2_aq_JacobianSP.o \ + module_kpp_saprc99_mosaic_8bin_vbs2_aq_Update_Rconst.o \ + module_kpp_saprc99_mosaic_8bin_vbs2_aq_interface.o \ + module_kpp_racm_mim_Integr.o \ + module_kpp_racm_mim_Precision.o \ + module_kpp_racm_mim_Parameters.o \ + module_kpp_racm_mim_Jacobian.o \ + module_kpp_racm_mim_JacobianSP.o \ + module_kpp_racm_mim_Update_Rconst.o \ + module_kpp_racm_mim_interface.o \ + module_wkppc_constants.o \ module_ftuv_subs.o \ module_ghg_fluxes.o \ module_gocart_drydep.o \ @@ -197,6 +413,7 @@ MODULES = \ module_isorev.o OBJS = \ + kpp_mechanism_driver.o \ chemics_init.o \ chem_driver.o \ cloudchem_driver.o \ @@ -226,6 +443,320 @@ clean: @ echo 'use the clean script' # DEPENDENCIES : only dependencies after this line (don't remove the word DEPENDENCIES) +module_kpp_nmhc9_Parameters.o: module_kpp_nmhc9_Precision.o + +module_kpp_nmhc9_Update_Rconst.o: module_kpp_nmhc9_Parameters.o + +module_kpp_nmhc9_Jacobian.o: module_kpp_nmhc9_Parameters.o module_kpp_nmhc9_JacobianSP.o + +module_kpp_nmhc9_Integr.o: module_kpp_nmhc9_Parameters.o module_kpp_nmhc9_Jacobian.o module_kpp_nmhc9_JacobianSP.o module_kpp_nmhc9_Update_Rconst.o module_wkppc_constants.o + +module_kpp_nmhc9_interface.o: module_kpp_nmhc9_Parameters.o module_kpp_nmhc9_Precision.o module_kpp_nmhc9_Integr.o module_kpp_nmhc9_Update_Rconst.o module_wkppc_constants.o + +module_kpp_cri_mosaic_4bin_aq_Parameters.o: module_kpp_cri_mosaic_4bin_aq_Precision.o + +module_kpp_cri_mosaic_4bin_aq_Update_Rconst.o: module_kpp_cri_mosaic_4bin_aq_Parameters.o + +module_kpp_cri_mosaic_4bin_aq_Jacobian.o: module_kpp_cri_mosaic_4bin_aq_Parameters.o module_kpp_cri_mosaic_4bin_aq_JacobianSP.o + +module_kpp_cri_mosaic_4bin_aq_Integr.o: module_kpp_cri_mosaic_4bin_aq_Parameters.o module_kpp_cri_mosaic_4bin_aq_Jacobian.o module_kpp_cri_mosaic_4bin_aq_JacobianSP.o module_kpp_cri_mosaic_4bin_aq_Update_Rconst.o module_wkppc_constants.o + +module_kpp_cri_mosaic_4bin_aq_interface.o: module_kpp_cri_mosaic_4bin_aq_Parameters.o module_kpp_cri_mosaic_4bin_aq_Precision.o module_kpp_cri_mosaic_4bin_aq_Integr.o module_kpp_cri_mosaic_4bin_aq_Update_Rconst.o module_wkppc_constants.o + +module_kpp_mozart_Parameters.o: module_kpp_mozart_Precision.o + +module_kpp_mozart_Update_Rconst.o: module_kpp_mozart_Parameters.o + +module_kpp_mozart_Jacobian.o: module_kpp_mozart_Parameters.o module_kpp_mozart_JacobianSP.o + +module_kpp_mozart_Integr.o: module_kpp_mozart_Parameters.o module_kpp_mozart_Jacobian.o module_kpp_mozart_JacobianSP.o module_kpp_mozart_Update_Rconst.o module_wkppc_constants.o + +module_kpp_mozart_interface.o: module_kpp_mozart_Parameters.o module_kpp_mozart_Precision.o module_kpp_mozart_Integr.o module_kpp_mozart_Update_Rconst.o module_wkppc_constants.o + +module_kpp_cbmz_bb_Parameters.o: module_kpp_cbmz_bb_Precision.o + +module_kpp_cbmz_bb_Update_Rconst.o: module_kpp_cbmz_bb_Parameters.o + +module_kpp_cbmz_bb_Jacobian.o: module_kpp_cbmz_bb_Parameters.o module_kpp_cbmz_bb_JacobianSP.o + +module_kpp_cbmz_bb_Integr.o: module_kpp_cbmz_bb_Parameters.o module_kpp_cbmz_bb_Jacobian.o module_kpp_cbmz_bb_JacobianSP.o module_kpp_cbmz_bb_Update_Rconst.o module_wkppc_constants.o + +module_kpp_cbmz_bb_interface.o: module_kpp_cbmz_bb_Parameters.o module_kpp_cbmz_bb_Precision.o module_kpp_cbmz_bb_Integr.o module_kpp_cbmz_bb_Update_Rconst.o module_wkppc_constants.o + +module_kpp_saprc99_mosaic_4bin_vbs2_Parameters.o: module_kpp_saprc99_mosaic_4bin_vbs2_Precision.o + +module_kpp_saprc99_mosaic_4bin_vbs2_Update_Rconst.o: module_kpp_saprc99_mosaic_4bin_vbs2_Parameters.o + +module_kpp_saprc99_mosaic_4bin_vbs2_Jacobian.o: module_kpp_saprc99_mosaic_4bin_vbs2_Parameters.o module_kpp_saprc99_mosaic_4bin_vbs2_JacobianSP.o + +module_kpp_saprc99_mosaic_4bin_vbs2_Integr.o: module_kpp_saprc99_mosaic_4bin_vbs2_Parameters.o module_kpp_saprc99_mosaic_4bin_vbs2_Jacobian.o module_kpp_saprc99_mosaic_4bin_vbs2_JacobianSP.o module_kpp_saprc99_mosaic_4bin_vbs2_Update_Rconst.o module_wkppc_constants.o + +module_kpp_saprc99_mosaic_4bin_vbs2_interface.o: module_kpp_saprc99_mosaic_4bin_vbs2_Parameters.o module_kpp_saprc99_mosaic_4bin_vbs2_Precision.o module_kpp_saprc99_mosaic_4bin_vbs2_Integr.o module_kpp_saprc99_mosaic_4bin_vbs2_Update_Rconst.o module_wkppc_constants.o + +module_kpp_cbm4_Parameters.o: module_kpp_cbm4_Precision.o + +module_kpp_cbm4_Update_Rconst.o: module_kpp_cbm4_Parameters.o + +module_kpp_cbm4_Jacobian.o: module_kpp_cbm4_Parameters.o module_kpp_cbm4_JacobianSP.o + +module_kpp_cbm4_Integr.o: module_kpp_cbm4_Parameters.o module_kpp_cbm4_Jacobian.o module_kpp_cbm4_JacobianSP.o module_kpp_cbm4_Update_Rconst.o module_wkppc_constants.o + +module_kpp_cbm4_interface.o: module_kpp_cbm4_Parameters.o module_kpp_cbm4_Precision.o module_kpp_cbm4_Integr.o module_kpp_cbm4_Update_Rconst.o module_wkppc_constants.o + +module_kpp_mozart_mosaic_4bin_aq_Parameters.o: module_kpp_mozart_mosaic_4bin_aq_Precision.o + +module_kpp_mozart_mosaic_4bin_aq_Update_Rconst.o: module_kpp_mozart_mosaic_4bin_aq_Parameters.o + +module_kpp_mozart_mosaic_4bin_aq_Jacobian.o: module_kpp_mozart_mosaic_4bin_aq_Parameters.o module_kpp_mozart_mosaic_4bin_aq_JacobianSP.o + +module_kpp_mozart_mosaic_4bin_aq_Integr.o: module_kpp_mozart_mosaic_4bin_aq_Parameters.o module_kpp_mozart_mosaic_4bin_aq_Jacobian.o module_kpp_mozart_mosaic_4bin_aq_JacobianSP.o module_kpp_mozart_mosaic_4bin_aq_Update_Rconst.o module_wkppc_constants.o + +module_kpp_mozart_mosaic_4bin_aq_interface.o: module_kpp_mozart_mosaic_4bin_aq_Parameters.o module_kpp_mozart_mosaic_4bin_aq_Precision.o module_kpp_mozart_mosaic_4bin_aq_Integr.o module_kpp_mozart_mosaic_4bin_aq_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racm_esrlsorg_aqchem_Parameters.o: module_kpp_racm_esrlsorg_aqchem_Precision.o + +module_kpp_racm_esrlsorg_aqchem_Update_Rconst.o: module_kpp_racm_esrlsorg_aqchem_Parameters.o + +module_kpp_racm_esrlsorg_aqchem_Jacobian.o: module_kpp_racm_esrlsorg_aqchem_Parameters.o module_kpp_racm_esrlsorg_aqchem_JacobianSP.o + +module_kpp_racm_esrlsorg_aqchem_Integr.o: module_kpp_racm_esrlsorg_aqchem_Parameters.o module_kpp_racm_esrlsorg_aqchem_Jacobian.o module_kpp_racm_esrlsorg_aqchem_JacobianSP.o module_kpp_racm_esrlsorg_aqchem_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racm_esrlsorg_aqchem_interface.o: module_kpp_racm_esrlsorg_aqchem_Parameters.o module_kpp_racm_esrlsorg_aqchem_Precision.o module_kpp_racm_esrlsorg_aqchem_Integr.o module_kpp_racm_esrlsorg_aqchem_Update_Rconst.o module_wkppc_constants.o + +module_kpp_t1_mozcart_Parameters.o: module_kpp_t1_mozcart_Precision.o + +module_kpp_t1_mozcart_Update_Rconst.o: module_kpp_t1_mozcart_Parameters.o + +module_kpp_t1_mozcart_Jacobian.o: module_kpp_t1_mozcart_Parameters.o module_kpp_t1_mozcart_JacobianSP.o + +module_kpp_t1_mozcart_Integr.o: module_kpp_t1_mozcart_Parameters.o module_kpp_t1_mozcart_Jacobian.o module_kpp_t1_mozcart_JacobianSP.o module_kpp_t1_mozcart_Update_Rconst.o module_wkppc_constants.o + +module_kpp_t1_mozcart_interface.o: module_kpp_t1_mozcart_Parameters.o module_kpp_t1_mozcart_Precision.o module_kpp_t1_mozcart_Integr.o module_kpp_t1_mozcart_Update_Rconst.o module_wkppc_constants.o + +module_kpp_cbmz_mosaic_Parameters.o: module_kpp_cbmz_mosaic_Precision.o + +module_kpp_cbmz_mosaic_Update_Rconst.o: module_kpp_cbmz_mosaic_Parameters.o + +module_kpp_cbmz_mosaic_Jacobian.o: module_kpp_cbmz_mosaic_Parameters.o module_kpp_cbmz_mosaic_JacobianSP.o + +module_kpp_cbmz_mosaic_Integr.o: module_kpp_cbmz_mosaic_Parameters.o module_kpp_cbmz_mosaic_Jacobian.o module_kpp_cbmz_mosaic_JacobianSP.o module_kpp_cbmz_mosaic_Update_Rconst.o module_wkppc_constants.o + +module_kpp_cbmz_mosaic_interface.o: module_kpp_cbmz_mosaic_Parameters.o module_kpp_cbmz_mosaic_Precision.o module_kpp_cbmz_mosaic_Integr.o module_kpp_cbmz_mosaic_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racmsorg_Parameters.o: module_kpp_racmsorg_Precision.o + +module_kpp_racmsorg_Update_Rconst.o: module_kpp_racmsorg_Parameters.o + +module_kpp_racmsorg_Jacobian.o: module_kpp_racmsorg_Parameters.o module_kpp_racmsorg_JacobianSP.o + +module_kpp_racmsorg_Integr.o: module_kpp_racmsorg_Parameters.o module_kpp_racmsorg_Jacobian.o module_kpp_racmsorg_JacobianSP.o module_kpp_racmsorg_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racmsorg_interface.o: module_kpp_racmsorg_Parameters.o module_kpp_racmsorg_Precision.o module_kpp_racmsorg_Integr.o module_kpp_racmsorg_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racm_soa_vbs_het_Parameters.o: module_kpp_racm_soa_vbs_het_Precision.o + +module_kpp_racm_soa_vbs_het_Update_Rconst.o: module_kpp_racm_soa_vbs_het_Parameters.o + +module_kpp_racm_soa_vbs_het_Jacobian.o: module_kpp_racm_soa_vbs_het_Parameters.o module_kpp_racm_soa_vbs_het_JacobianSP.o + +module_kpp_racm_soa_vbs_het_Integr.o: module_kpp_racm_soa_vbs_het_Parameters.o module_kpp_racm_soa_vbs_het_Jacobian.o module_kpp_racm_soa_vbs_het_JacobianSP.o module_kpp_racm_soa_vbs_het_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racm_soa_vbs_het_interface.o: module_kpp_racm_soa_vbs_het_Parameters.o module_kpp_racm_soa_vbs_het_Precision.o module_kpp_racm_soa_vbs_het_Integr.o module_kpp_racm_soa_vbs_het_Update_Rconst.o module_wkppc_constants.o + +module_kpp_mozcart_Parameters.o: module_kpp_mozcart_Precision.o + +module_kpp_mozcart_Update_Rconst.o: module_kpp_mozcart_Parameters.o + +module_kpp_mozcart_Jacobian.o: module_kpp_mozcart_Parameters.o module_kpp_mozcart_JacobianSP.o + +module_kpp_mozcart_Integr.o: module_kpp_mozcart_Parameters.o module_kpp_mozcart_Jacobian.o module_kpp_mozcart_JacobianSP.o module_kpp_mozcart_Update_Rconst.o module_wkppc_constants.o + +module_kpp_mozcart_interface.o: module_kpp_mozcart_Parameters.o module_kpp_mozcart_Precision.o module_kpp_mozcart_Integr.o module_kpp_mozcart_Update_Rconst.o module_wkppc_constants.o + +module_kpp_mozart_mosaic_4bin_Parameters.o: module_kpp_mozart_mosaic_4bin_Precision.o + +module_kpp_mozart_mosaic_4bin_Update_Rconst.o: module_kpp_mozart_mosaic_4bin_Parameters.o + +module_kpp_mozart_mosaic_4bin_Jacobian.o: module_kpp_mozart_mosaic_4bin_Parameters.o module_kpp_mozart_mosaic_4bin_JacobianSP.o + +module_kpp_mozart_mosaic_4bin_Integr.o: module_kpp_mozart_mosaic_4bin_Parameters.o module_kpp_mozart_mosaic_4bin_Jacobian.o module_kpp_mozart_mosaic_4bin_JacobianSP.o module_kpp_mozart_mosaic_4bin_Update_Rconst.o module_wkppc_constants.o + +module_kpp_mozart_mosaic_4bin_interface.o: module_kpp_mozart_mosaic_4bin_Parameters.o module_kpp_mozart_mosaic_4bin_Precision.o module_kpp_mozart_mosaic_4bin_Integr.o module_kpp_mozart_mosaic_4bin_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racmpm_Parameters.o: module_kpp_racmpm_Precision.o + +module_kpp_racmpm_Update_Rconst.o: module_kpp_racmpm_Parameters.o + +module_kpp_racmpm_Jacobian.o: module_kpp_racmpm_Parameters.o module_kpp_racmpm_JacobianSP.o + +module_kpp_racmpm_Integr.o: module_kpp_racmpm_Parameters.o module_kpp_racmpm_Jacobian.o module_kpp_racmpm_JacobianSP.o module_kpp_racmpm_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racmpm_interface.o: module_kpp_racmpm_Parameters.o module_kpp_racmpm_Precision.o module_kpp_racmpm_Integr.o module_kpp_racmpm_Update_Rconst.o module_wkppc_constants.o + +module_kpp_radm2_Parameters.o: module_kpp_radm2_Precision.o + +module_kpp_radm2_Update_Rconst.o: module_kpp_radm2_Parameters.o + +module_kpp_radm2_Jacobian.o: module_kpp_radm2_Parameters.o module_kpp_radm2_JacobianSP.o + +module_kpp_radm2_Integr.o: module_kpp_radm2_Parameters.o module_kpp_radm2_Jacobian.o module_kpp_radm2_JacobianSP.o module_kpp_radm2_Update_Rconst.o module_wkppc_constants.o + +module_kpp_radm2_interface.o: module_kpp_radm2_Parameters.o module_kpp_radm2_Precision.o module_kpp_radm2_Integr.o module_kpp_radm2_Update_Rconst.o module_wkppc_constants.o + +module_kpp_cb05_sorg_aq_Parameters.o: module_kpp_cb05_sorg_aq_Precision.o + +module_kpp_cb05_sorg_aq_Update_Rconst.o: module_kpp_cb05_sorg_aq_Parameters.o + +module_kpp_cb05_sorg_aq_Jacobian.o: module_kpp_cb05_sorg_aq_Parameters.o module_kpp_cb05_sorg_aq_JacobianSP.o + +module_kpp_cb05_sorg_aq_Integr.o: module_kpp_cb05_sorg_aq_Parameters.o module_kpp_cb05_sorg_aq_Jacobian.o module_kpp_cb05_sorg_aq_JacobianSP.o module_kpp_cb05_sorg_aq_Update_Rconst.o module_wkppc_constants.o + +module_kpp_cb05_sorg_aq_interface.o: module_kpp_cb05_sorg_aq_Parameters.o module_kpp_cb05_sorg_aq_Precision.o module_kpp_cb05_sorg_aq_Integr.o module_kpp_cb05_sorg_aq_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racmsorg_aqchem_Parameters.o: module_kpp_racmsorg_aqchem_Precision.o + +module_kpp_racmsorg_aqchem_Update_Rconst.o: module_kpp_racmsorg_aqchem_Parameters.o + +module_kpp_racmsorg_aqchem_Jacobian.o: module_kpp_racmsorg_aqchem_Parameters.o module_kpp_racmsorg_aqchem_JacobianSP.o + +module_kpp_racmsorg_aqchem_Integr.o: module_kpp_racmsorg_aqchem_Parameters.o module_kpp_racmsorg_aqchem_Jacobian.o module_kpp_racmsorg_aqchem_JacobianSP.o module_kpp_racmsorg_aqchem_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racmsorg_aqchem_interface.o: module_kpp_racmsorg_aqchem_Parameters.o module_kpp_racmsorg_aqchem_Precision.o module_kpp_racmsorg_aqchem_Integr.o module_kpp_racmsorg_aqchem_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racm_soa_vbs_aqchem_Parameters.o: module_kpp_racm_soa_vbs_aqchem_Precision.o + +module_kpp_racm_soa_vbs_aqchem_Update_Rconst.o: module_kpp_racm_soa_vbs_aqchem_Parameters.o + +module_kpp_racm_soa_vbs_aqchem_Jacobian.o: module_kpp_racm_soa_vbs_aqchem_Parameters.o module_kpp_racm_soa_vbs_aqchem_JacobianSP.o + +module_kpp_racm_soa_vbs_aqchem_Integr.o: module_kpp_racm_soa_vbs_aqchem_Parameters.o module_kpp_racm_soa_vbs_aqchem_Jacobian.o module_kpp_racm_soa_vbs_aqchem_JacobianSP.o module_kpp_racm_soa_vbs_aqchem_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racm_soa_vbs_aqchem_interface.o: module_kpp_racm_soa_vbs_aqchem_Parameters.o module_kpp_racm_soa_vbs_aqchem_Precision.o module_kpp_racm_soa_vbs_aqchem_Integr.o module_kpp_racm_soa_vbs_aqchem_Update_Rconst.o module_wkppc_constants.o + +module_kpp_crimech_Parameters.o: module_kpp_crimech_Precision.o + +module_kpp_crimech_Update_Rconst.o: module_kpp_crimech_Parameters.o + +module_kpp_crimech_Jacobian.o: module_kpp_crimech_Parameters.o module_kpp_crimech_JacobianSP.o + +module_kpp_crimech_Integr.o: module_kpp_crimech_Parameters.o module_kpp_crimech_Jacobian.o module_kpp_crimech_JacobianSP.o module_kpp_crimech_Update_Rconst.o module_wkppc_constants.o + +module_kpp_crimech_interface.o: module_kpp_crimech_Parameters.o module_kpp_crimech_Precision.o module_kpp_crimech_Integr.o module_kpp_crimech_Update_Rconst.o module_wkppc_constants.o + +module_kpp_cri_mosaic_8bin_aq_Parameters.o: module_kpp_cri_mosaic_8bin_aq_Precision.o + +module_kpp_cri_mosaic_8bin_aq_Update_Rconst.o: module_kpp_cri_mosaic_8bin_aq_Parameters.o + +module_kpp_cri_mosaic_8bin_aq_Jacobian.o: module_kpp_cri_mosaic_8bin_aq_Parameters.o module_kpp_cri_mosaic_8bin_aq_JacobianSP.o + +module_kpp_cri_mosaic_8bin_aq_Integr.o: module_kpp_cri_mosaic_8bin_aq_Parameters.o module_kpp_cri_mosaic_8bin_aq_Jacobian.o module_kpp_cri_mosaic_8bin_aq_JacobianSP.o module_kpp_cri_mosaic_8bin_aq_Update_Rconst.o module_wkppc_constants.o + +module_kpp_cri_mosaic_8bin_aq_interface.o: module_kpp_cri_mosaic_8bin_aq_Parameters.o module_kpp_cri_mosaic_8bin_aq_Precision.o module_kpp_cri_mosaic_8bin_aq_Integr.o module_kpp_cri_mosaic_8bin_aq_Update_Rconst.o module_wkppc_constants.o + +module_kpp_saprc99_Parameters.o: module_kpp_saprc99_Precision.o + +module_kpp_saprc99_Update_Rconst.o: module_kpp_saprc99_Parameters.o + +module_kpp_saprc99_Jacobian.o: module_kpp_saprc99_Parameters.o module_kpp_saprc99_JacobianSP.o + +module_kpp_saprc99_Integr.o: module_kpp_saprc99_Parameters.o module_kpp_saprc99_Jacobian.o module_kpp_saprc99_JacobianSP.o module_kpp_saprc99_Update_Rconst.o module_wkppc_constants.o + +module_kpp_saprc99_interface.o: module_kpp_saprc99_Parameters.o module_kpp_saprc99_Precision.o module_kpp_saprc99_Integr.o module_kpp_saprc99_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racm_soa_vbs_Parameters.o: module_kpp_racm_soa_vbs_Precision.o + +module_kpp_racm_soa_vbs_Update_Rconst.o: module_kpp_racm_soa_vbs_Parameters.o + +module_kpp_racm_soa_vbs_Jacobian.o: module_kpp_racm_soa_vbs_Parameters.o module_kpp_racm_soa_vbs_JacobianSP.o + +module_kpp_racm_soa_vbs_Integr.o: module_kpp_racm_soa_vbs_Parameters.o module_kpp_racm_soa_vbs_Jacobian.o module_kpp_racm_soa_vbs_JacobianSP.o module_kpp_racm_soa_vbs_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racm_soa_vbs_interface.o: module_kpp_racm_soa_vbs_Parameters.o module_kpp_racm_soa_vbs_Precision.o module_kpp_racm_soa_vbs_Integr.o module_kpp_racm_soa_vbs_Update_Rconst.o module_wkppc_constants.o + +module_kpp_cb05_sorg_vbs_aq_Parameters.o: module_kpp_cb05_sorg_vbs_aq_Precision.o + +module_kpp_cb05_sorg_vbs_aq_Update_Rconst.o: module_kpp_cb05_sorg_vbs_aq_Parameters.o + +module_kpp_cb05_sorg_vbs_aq_Jacobian.o: module_kpp_cb05_sorg_vbs_aq_Parameters.o module_kpp_cb05_sorg_vbs_aq_JacobianSP.o + +module_kpp_cb05_sorg_vbs_aq_Integr.o: module_kpp_cb05_sorg_vbs_aq_Parameters.o module_kpp_cb05_sorg_vbs_aq_Jacobian.o module_kpp_cb05_sorg_vbs_aq_JacobianSP.o module_kpp_cb05_sorg_vbs_aq_Update_Rconst.o module_wkppc_constants.o + +module_kpp_cb05_sorg_vbs_aq_interface.o: module_kpp_cb05_sorg_vbs_aq_Parameters.o module_kpp_cb05_sorg_vbs_aq_Precision.o module_kpp_cb05_sorg_vbs_aq_Integr.o module_kpp_cb05_sorg_vbs_aq_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racm_Parameters.o: module_kpp_racm_Precision.o + +module_kpp_racm_Update_Rconst.o: module_kpp_racm_Parameters.o + +module_kpp_racm_Jacobian.o: module_kpp_racm_Parameters.o module_kpp_racm_JacobianSP.o + +module_kpp_racm_Integr.o: module_kpp_racm_Parameters.o module_kpp_racm_Jacobian.o module_kpp_racm_JacobianSP.o module_kpp_racm_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racm_interface.o: module_kpp_racm_Parameters.o module_kpp_racm_Precision.o module_kpp_racm_Integr.o module_kpp_racm_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racm_esrlsorg_Parameters.o: module_kpp_racm_esrlsorg_Precision.o + +module_kpp_racm_esrlsorg_Update_Rconst.o: module_kpp_racm_esrlsorg_Parameters.o + +module_kpp_racm_esrlsorg_Jacobian.o: module_kpp_racm_esrlsorg_Parameters.o module_kpp_racm_esrlsorg_JacobianSP.o + +module_kpp_racm_esrlsorg_Integr.o: module_kpp_racm_esrlsorg_Parameters.o module_kpp_racm_esrlsorg_Jacobian.o module_kpp_racm_esrlsorg_JacobianSP.o module_kpp_racm_esrlsorg_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racm_esrlsorg_interface.o: module_kpp_racm_esrlsorg_Parameters.o module_kpp_racm_esrlsorg_Precision.o module_kpp_racm_esrlsorg_Integr.o module_kpp_racm_esrlsorg_Update_Rconst.o module_wkppc_constants.o + +module_kpp_gocartracm_Parameters.o: module_kpp_gocartracm_Precision.o + +module_kpp_gocartracm_Update_Rconst.o: module_kpp_gocartracm_Parameters.o + +module_kpp_gocartracm_Jacobian.o: module_kpp_gocartracm_Parameters.o module_kpp_gocartracm_JacobianSP.o + +module_kpp_gocartracm_Integr.o: module_kpp_gocartracm_Parameters.o module_kpp_gocartracm_Jacobian.o module_kpp_gocartracm_JacobianSP.o module_kpp_gocartracm_Update_Rconst.o module_wkppc_constants.o + +module_kpp_gocartracm_interface.o: module_kpp_gocartracm_Parameters.o module_kpp_gocartracm_Precision.o module_kpp_gocartracm_Integr.o module_kpp_gocartracm_Update_Rconst.o module_wkppc_constants.o + +module_kpp_radm2sorg_Parameters.o: module_kpp_radm2sorg_Precision.o + +module_kpp_radm2sorg_Update_Rconst.o: module_kpp_radm2sorg_Parameters.o + +module_kpp_radm2sorg_Jacobian.o: module_kpp_radm2sorg_Parameters.o module_kpp_radm2sorg_JacobianSP.o + +module_kpp_radm2sorg_Integr.o: module_kpp_radm2sorg_Parameters.o module_kpp_radm2sorg_Jacobian.o module_kpp_radm2sorg_JacobianSP.o module_kpp_radm2sorg_Update_Rconst.o module_wkppc_constants.o + +module_kpp_radm2sorg_interface.o: module_kpp_radm2sorg_Parameters.o module_kpp_radm2sorg_Precision.o module_kpp_radm2sorg_Integr.o module_kpp_radm2sorg_Update_Rconst.o module_wkppc_constants.o + +module_kpp_saprc99_mosaic_8bin_vbs2_aq_Parameters.o: module_kpp_saprc99_mosaic_8bin_vbs2_aq_Precision.o + +module_kpp_saprc99_mosaic_8bin_vbs2_aq_Update_Rconst.o: module_kpp_saprc99_mosaic_8bin_vbs2_aq_Parameters.o + +module_kpp_saprc99_mosaic_8bin_vbs2_aq_Jacobian.o: module_kpp_saprc99_mosaic_8bin_vbs2_aq_Parameters.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_JacobianSP.o + +module_kpp_saprc99_mosaic_8bin_vbs2_aq_Integr.o: module_kpp_saprc99_mosaic_8bin_vbs2_aq_Parameters.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_Jacobian.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_JacobianSP.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_Update_Rconst.o module_wkppc_constants.o + +module_kpp_saprc99_mosaic_8bin_vbs2_aq_interface.o: module_kpp_saprc99_mosaic_8bin_vbs2_aq_Parameters.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_Precision.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_Integr.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racm_mim_Parameters.o: module_kpp_racm_mim_Precision.o + +module_kpp_racm_mim_Update_Rconst.o: module_kpp_racm_mim_Parameters.o + +module_kpp_racm_mim_Jacobian.o: module_kpp_racm_mim_Parameters.o module_kpp_racm_mim_JacobianSP.o + +module_kpp_racm_mim_Integr.o: module_kpp_racm_mim_Parameters.o module_kpp_racm_mim_Jacobian.o module_kpp_racm_mim_JacobianSP.o module_kpp_racm_mim_Update_Rconst.o module_wkppc_constants.o + +module_kpp_racm_mim_interface.o: module_kpp_racm_mim_Parameters.o module_kpp_racm_mim_Precision.o module_kpp_racm_mim_Integr.o module_kpp_racm_mim_Update_Rconst.o module_wkppc_constants.o + +module_wkkpc_constants.o: + +kpp_mechanism_driver.o: module_kpp_nmhc9_interface.o module_kpp_cri_mosaic_4bin_aq_interface.o \ + module_kpp_mozart_interface.o module_kpp_cbmz_bb_interface.o module_kpp_saprc99_mosaic_4bin_vbs2_interface.o \ + module_kpp_cbm4_interface.o module_kpp_mozart_mosaic_4bin_aq_interface.o module_kpp_racm_esrlsorg_aqchem_interface.o \ + module_kpp_t1_mozcart_interface.o module_kpp_cbmz_mosaic_interface.o module_kpp_racmsorg_interface.o \ + module_kpp_racm_soa_vbs_het_interface.o module_kpp_mozcart_interface.o module_kpp_mozart_mosaic_4bin_interface.o \ + module_kpp_racmpm_interface.o module_kpp_radm2_interface.o module_kpp_cb05_sorg_aq_interface.o \ + module_kpp_racmsorg_aqchem_interface.o module_kpp_racm_soa_vbs_aqchem_interface.o module_kpp_crimech_interface.o \ + module_kpp_cri_mosaic_8bin_aq_interface.o module_kpp_saprc99_interface.o module_kpp_racm_soa_vbs_interface.o \ + module_kpp_cb05_sorg_vbs_aq_interface.o module_kpp_racm_interface.o module_kpp_racm_esrlsorg_interface.o \ + module_kpp_gocartracm_interface.o module_kpp_radm2sorg_interface.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_interface.o \ + module_kpp_racm_mim_interface.o + include depend.chem diff --git a/compile b/compile index 0749cfcdef..3b96dc6403 100755 --- a/compile +++ b/compile @@ -407,20 +407,7 @@ else echo " " uname -a echo " " -# remove comment text set comp = ( `grep "^SFC" configure.wrf | cut -d"#" -f1 | cut -d"=" -f2-` ) -# if ( "$comp[1]" == "gfortran" ) then -# gfortran --version -# else if ( "$comp[1]" == "pgf90" ) then -# pgf90 --version -# else if ( "$comp[1]" == "ifort" ) then -# ifort -V -## in case using ifx -# else if ( "$comp[1]" == "ifx" ) then -# ifx -V -# else -# echo "Not sure how to figure out the version of this compiler: $comp[1]" -# endif $comp[1] -V >& /dev/null if ( $status == 0 ) then $comp[1] --version diff --git a/tools/gen_wrf_io.c b/tools/gen_wrf_io.c index 0ba0c78294..d228f6c962 100644 --- a/tools/gen_wrf_io.c +++ b/tools/gen_wrf_io.c @@ -85,7 +85,7 @@ gen_wrf_io2 ( FILE * fp , char * fname, char * structname , char * fourdname, no { - if ( p->ndims > 3 && ( (! p->node_kind) ) & FOURD ) continue ; /* short circuit anything with more than 3 dims, (not counting 4d arrays) */ + if ( p->ndims > 3 && ( (! p->node_kind) & FOURD ) ) continue ; /* short circuit anything with more than 3 dims, (not counting 4d arrays) */ if ( p->node_kind & I1 ) continue ; /* short circuit anything that's not a state var */ From 30eaaa48e7bbcc9e13a15cc63a84870ba741eb93 Mon Sep 17 00:00:00 2001 From: ahheo Date: Mon, 19 Feb 2024 10:33:18 +0800 Subject: [PATCH 8/9] Revert "changes suggested by islas #2" This reverts commit 82447aac6e8411f41996f4b0d74f1d07d79d88d0. modified: compile modified: tools/gen_wrf_io.c --- chem/Makefile | 531 --------------------------------------------- compile | 13 ++ tools/gen_wrf_io.c | 2 +- 3 files changed, 14 insertions(+), 532 deletions(-) diff --git a/chem/Makefile b/chem/Makefile index 51b32d6c06..9bf3acd38f 100755 --- a/chem/Makefile +++ b/chem/Makefile @@ -1,8 +1,3 @@ -# -# MANUAL CHANGES TO THIS FILE WILL BE LOST -# ... EDIT Makefile_org INSTEAD ... -# this file was written by gen_kpp.c - # # Changing this file requires mods to # WRFV3_top/chem/KPP/util/wkc/change_chem_Makefile.c @@ -61,217 +56,6 @@ MODULES = \ module_data_soa_vbs_het.o \ module_data_sorgam.o \ module_data_sorgam_vbs.o \ - module_kpp_nmhc9_Integr.o \ - module_kpp_nmhc9_Precision.o \ - module_kpp_nmhc9_Parameters.o \ - module_kpp_nmhc9_Jacobian.o \ - module_kpp_nmhc9_JacobianSP.o \ - module_kpp_nmhc9_Update_Rconst.o \ - module_kpp_nmhc9_interface.o \ - module_kpp_cri_mosaic_4bin_aq_Integr.o \ - module_kpp_cri_mosaic_4bin_aq_Precision.o \ - module_kpp_cri_mosaic_4bin_aq_Parameters.o \ - module_kpp_cri_mosaic_4bin_aq_Jacobian.o \ - module_kpp_cri_mosaic_4bin_aq_JacobianSP.o \ - module_kpp_cri_mosaic_4bin_aq_Update_Rconst.o \ - module_kpp_cri_mosaic_4bin_aq_interface.o \ - module_kpp_mozart_Integr.o \ - module_kpp_mozart_Precision.o \ - module_kpp_mozart_Parameters.o \ - module_kpp_mozart_Jacobian.o \ - module_kpp_mozart_JacobianSP.o \ - module_kpp_mozart_Update_Rconst.o \ - module_kpp_mozart_interface.o \ - module_kpp_cbmz_bb_Integr.o \ - module_kpp_cbmz_bb_Precision.o \ - module_kpp_cbmz_bb_Parameters.o \ - module_kpp_cbmz_bb_Jacobian.o \ - module_kpp_cbmz_bb_JacobianSP.o \ - module_kpp_cbmz_bb_Update_Rconst.o \ - module_kpp_cbmz_bb_interface.o \ - module_kpp_saprc99_mosaic_4bin_vbs2_Integr.o \ - module_kpp_saprc99_mosaic_4bin_vbs2_Precision.o \ - module_kpp_saprc99_mosaic_4bin_vbs2_Parameters.o \ - module_kpp_saprc99_mosaic_4bin_vbs2_Jacobian.o \ - module_kpp_saprc99_mosaic_4bin_vbs2_JacobianSP.o \ - module_kpp_saprc99_mosaic_4bin_vbs2_Update_Rconst.o \ - module_kpp_saprc99_mosaic_4bin_vbs2_interface.o \ - module_kpp_cbm4_Integr.o \ - module_kpp_cbm4_Precision.o \ - module_kpp_cbm4_Parameters.o \ - module_kpp_cbm4_Jacobian.o \ - module_kpp_cbm4_JacobianSP.o \ - module_kpp_cbm4_Update_Rconst.o \ - module_kpp_cbm4_interface.o \ - module_kpp_mozart_mosaic_4bin_aq_Integr.o \ - module_kpp_mozart_mosaic_4bin_aq_Precision.o \ - module_kpp_mozart_mosaic_4bin_aq_Parameters.o \ - module_kpp_mozart_mosaic_4bin_aq_Jacobian.o \ - module_kpp_mozart_mosaic_4bin_aq_JacobianSP.o \ - module_kpp_mozart_mosaic_4bin_aq_Update_Rconst.o \ - module_kpp_mozart_mosaic_4bin_aq_interface.o \ - module_kpp_racm_esrlsorg_aqchem_Integr.o \ - module_kpp_racm_esrlsorg_aqchem_Precision.o \ - module_kpp_racm_esrlsorg_aqchem_Parameters.o \ - module_kpp_racm_esrlsorg_aqchem_Jacobian.o \ - module_kpp_racm_esrlsorg_aqchem_JacobianSP.o \ - module_kpp_racm_esrlsorg_aqchem_Update_Rconst.o \ - module_kpp_racm_esrlsorg_aqchem_interface.o \ - module_kpp_t1_mozcart_Integr.o \ - module_kpp_t1_mozcart_Precision.o \ - module_kpp_t1_mozcart_Parameters.o \ - module_kpp_t1_mozcart_Jacobian.o \ - module_kpp_t1_mozcart_JacobianSP.o \ - module_kpp_t1_mozcart_Update_Rconst.o \ - module_kpp_t1_mozcart_interface.o \ - module_kpp_cbmz_mosaic_Integr.o \ - module_kpp_cbmz_mosaic_Precision.o \ - module_kpp_cbmz_mosaic_Parameters.o \ - module_kpp_cbmz_mosaic_Jacobian.o \ - module_kpp_cbmz_mosaic_JacobianSP.o \ - module_kpp_cbmz_mosaic_Update_Rconst.o \ - module_kpp_cbmz_mosaic_interface.o \ - module_kpp_racmsorg_Integr.o \ - module_kpp_racmsorg_Precision.o \ - module_kpp_racmsorg_Parameters.o \ - module_kpp_racmsorg_Jacobian.o \ - module_kpp_racmsorg_JacobianSP.o \ - module_kpp_racmsorg_Update_Rconst.o \ - module_kpp_racmsorg_interface.o \ - module_kpp_racm_soa_vbs_het_Integr.o \ - module_kpp_racm_soa_vbs_het_Precision.o \ - module_kpp_racm_soa_vbs_het_Parameters.o \ - module_kpp_racm_soa_vbs_het_Jacobian.o \ - module_kpp_racm_soa_vbs_het_JacobianSP.o \ - module_kpp_racm_soa_vbs_het_Update_Rconst.o \ - module_kpp_racm_soa_vbs_het_interface.o \ - module_kpp_mozcart_Integr.o \ - module_kpp_mozcart_Precision.o \ - module_kpp_mozcart_Parameters.o \ - module_kpp_mozcart_Jacobian.o \ - module_kpp_mozcart_JacobianSP.o \ - module_kpp_mozcart_Update_Rconst.o \ - module_kpp_mozcart_interface.o \ - module_kpp_mozart_mosaic_4bin_Integr.o \ - module_kpp_mozart_mosaic_4bin_Precision.o \ - module_kpp_mozart_mosaic_4bin_Parameters.o \ - module_kpp_mozart_mosaic_4bin_Jacobian.o \ - module_kpp_mozart_mosaic_4bin_JacobianSP.o \ - module_kpp_mozart_mosaic_4bin_Update_Rconst.o \ - module_kpp_mozart_mosaic_4bin_interface.o \ - module_kpp_racmpm_Integr.o \ - module_kpp_racmpm_Precision.o \ - module_kpp_racmpm_Parameters.o \ - module_kpp_racmpm_Jacobian.o \ - module_kpp_racmpm_JacobianSP.o \ - module_kpp_racmpm_Update_Rconst.o \ - module_kpp_racmpm_interface.o \ - module_kpp_radm2_Integr.o \ - module_kpp_radm2_Precision.o \ - module_kpp_radm2_Parameters.o \ - module_kpp_radm2_Jacobian.o \ - module_kpp_radm2_JacobianSP.o \ - module_kpp_radm2_Update_Rconst.o \ - module_kpp_radm2_interface.o \ - module_kpp_cb05_sorg_aq_Integr.o \ - module_kpp_cb05_sorg_aq_Precision.o \ - module_kpp_cb05_sorg_aq_Parameters.o \ - module_kpp_cb05_sorg_aq_Jacobian.o \ - module_kpp_cb05_sorg_aq_JacobianSP.o \ - module_kpp_cb05_sorg_aq_Update_Rconst.o \ - module_kpp_cb05_sorg_aq_interface.o \ - module_kpp_racmsorg_aqchem_Integr.o \ - module_kpp_racmsorg_aqchem_Precision.o \ - module_kpp_racmsorg_aqchem_Parameters.o \ - module_kpp_racmsorg_aqchem_Jacobian.o \ - module_kpp_racmsorg_aqchem_JacobianSP.o \ - module_kpp_racmsorg_aqchem_Update_Rconst.o \ - module_kpp_racmsorg_aqchem_interface.o \ - module_kpp_racm_soa_vbs_aqchem_Integr.o \ - module_kpp_racm_soa_vbs_aqchem_Precision.o \ - module_kpp_racm_soa_vbs_aqchem_Parameters.o \ - module_kpp_racm_soa_vbs_aqchem_Jacobian.o \ - module_kpp_racm_soa_vbs_aqchem_JacobianSP.o \ - module_kpp_racm_soa_vbs_aqchem_Update_Rconst.o \ - module_kpp_racm_soa_vbs_aqchem_interface.o \ - module_kpp_crimech_Integr.o \ - module_kpp_crimech_Precision.o \ - module_kpp_crimech_Parameters.o \ - module_kpp_crimech_Jacobian.o \ - module_kpp_crimech_JacobianSP.o \ - module_kpp_crimech_Update_Rconst.o \ - module_kpp_crimech_interface.o \ - module_kpp_cri_mosaic_8bin_aq_Integr.o \ - module_kpp_cri_mosaic_8bin_aq_Precision.o \ - module_kpp_cri_mosaic_8bin_aq_Parameters.o \ - module_kpp_cri_mosaic_8bin_aq_Jacobian.o \ - module_kpp_cri_mosaic_8bin_aq_JacobianSP.o \ - module_kpp_cri_mosaic_8bin_aq_Update_Rconst.o \ - module_kpp_cri_mosaic_8bin_aq_interface.o \ - module_kpp_saprc99_Integr.o \ - module_kpp_saprc99_Precision.o \ - module_kpp_saprc99_Parameters.o \ - module_kpp_saprc99_Jacobian.o \ - module_kpp_saprc99_JacobianSP.o \ - module_kpp_saprc99_Update_Rconst.o \ - module_kpp_saprc99_interface.o \ - module_kpp_racm_soa_vbs_Integr.o \ - module_kpp_racm_soa_vbs_Precision.o \ - module_kpp_racm_soa_vbs_Parameters.o \ - module_kpp_racm_soa_vbs_Jacobian.o \ - module_kpp_racm_soa_vbs_JacobianSP.o \ - module_kpp_racm_soa_vbs_Update_Rconst.o \ - module_kpp_racm_soa_vbs_interface.o \ - module_kpp_cb05_sorg_vbs_aq_Integr.o \ - module_kpp_cb05_sorg_vbs_aq_Precision.o \ - module_kpp_cb05_sorg_vbs_aq_Parameters.o \ - module_kpp_cb05_sorg_vbs_aq_Jacobian.o \ - module_kpp_cb05_sorg_vbs_aq_JacobianSP.o \ - module_kpp_cb05_sorg_vbs_aq_Update_Rconst.o \ - module_kpp_cb05_sorg_vbs_aq_interface.o \ - module_kpp_racm_Integr.o \ - module_kpp_racm_Precision.o \ - module_kpp_racm_Parameters.o \ - module_kpp_racm_Jacobian.o \ - module_kpp_racm_JacobianSP.o \ - module_kpp_racm_Update_Rconst.o \ - module_kpp_racm_interface.o \ - module_kpp_racm_esrlsorg_Integr.o \ - module_kpp_racm_esrlsorg_Precision.o \ - module_kpp_racm_esrlsorg_Parameters.o \ - module_kpp_racm_esrlsorg_Jacobian.o \ - module_kpp_racm_esrlsorg_JacobianSP.o \ - module_kpp_racm_esrlsorg_Update_Rconst.o \ - module_kpp_racm_esrlsorg_interface.o \ - module_kpp_gocartracm_Integr.o \ - module_kpp_gocartracm_Precision.o \ - module_kpp_gocartracm_Parameters.o \ - module_kpp_gocartracm_Jacobian.o \ - module_kpp_gocartracm_JacobianSP.o \ - module_kpp_gocartracm_Update_Rconst.o \ - module_kpp_gocartracm_interface.o \ - module_kpp_radm2sorg_Integr.o \ - module_kpp_radm2sorg_Precision.o \ - module_kpp_radm2sorg_Parameters.o \ - module_kpp_radm2sorg_Jacobian.o \ - module_kpp_radm2sorg_JacobianSP.o \ - module_kpp_radm2sorg_Update_Rconst.o \ - module_kpp_radm2sorg_interface.o \ - module_kpp_saprc99_mosaic_8bin_vbs2_aq_Integr.o \ - module_kpp_saprc99_mosaic_8bin_vbs2_aq_Precision.o \ - module_kpp_saprc99_mosaic_8bin_vbs2_aq_Parameters.o \ - module_kpp_saprc99_mosaic_8bin_vbs2_aq_Jacobian.o \ - module_kpp_saprc99_mosaic_8bin_vbs2_aq_JacobianSP.o \ - module_kpp_saprc99_mosaic_8bin_vbs2_aq_Update_Rconst.o \ - module_kpp_saprc99_mosaic_8bin_vbs2_aq_interface.o \ - module_kpp_racm_mim_Integr.o \ - module_kpp_racm_mim_Precision.o \ - module_kpp_racm_mim_Parameters.o \ - module_kpp_racm_mim_Jacobian.o \ - module_kpp_racm_mim_JacobianSP.o \ - module_kpp_racm_mim_Update_Rconst.o \ - module_kpp_racm_mim_interface.o \ - module_wkppc_constants.o \ module_ftuv_subs.o \ module_ghg_fluxes.o \ module_gocart_drydep.o \ @@ -413,7 +197,6 @@ MODULES = \ module_isorev.o OBJS = \ - kpp_mechanism_driver.o \ chemics_init.o \ chem_driver.o \ cloudchem_driver.o \ @@ -443,320 +226,6 @@ clean: @ echo 'use the clean script' # DEPENDENCIES : only dependencies after this line (don't remove the word DEPENDENCIES) -module_kpp_nmhc9_Parameters.o: module_kpp_nmhc9_Precision.o - -module_kpp_nmhc9_Update_Rconst.o: module_kpp_nmhc9_Parameters.o - -module_kpp_nmhc9_Jacobian.o: module_kpp_nmhc9_Parameters.o module_kpp_nmhc9_JacobianSP.o - -module_kpp_nmhc9_Integr.o: module_kpp_nmhc9_Parameters.o module_kpp_nmhc9_Jacobian.o module_kpp_nmhc9_JacobianSP.o module_kpp_nmhc9_Update_Rconst.o module_wkppc_constants.o - -module_kpp_nmhc9_interface.o: module_kpp_nmhc9_Parameters.o module_kpp_nmhc9_Precision.o module_kpp_nmhc9_Integr.o module_kpp_nmhc9_Update_Rconst.o module_wkppc_constants.o - -module_kpp_cri_mosaic_4bin_aq_Parameters.o: module_kpp_cri_mosaic_4bin_aq_Precision.o - -module_kpp_cri_mosaic_4bin_aq_Update_Rconst.o: module_kpp_cri_mosaic_4bin_aq_Parameters.o - -module_kpp_cri_mosaic_4bin_aq_Jacobian.o: module_kpp_cri_mosaic_4bin_aq_Parameters.o module_kpp_cri_mosaic_4bin_aq_JacobianSP.o - -module_kpp_cri_mosaic_4bin_aq_Integr.o: module_kpp_cri_mosaic_4bin_aq_Parameters.o module_kpp_cri_mosaic_4bin_aq_Jacobian.o module_kpp_cri_mosaic_4bin_aq_JacobianSP.o module_kpp_cri_mosaic_4bin_aq_Update_Rconst.o module_wkppc_constants.o - -module_kpp_cri_mosaic_4bin_aq_interface.o: module_kpp_cri_mosaic_4bin_aq_Parameters.o module_kpp_cri_mosaic_4bin_aq_Precision.o module_kpp_cri_mosaic_4bin_aq_Integr.o module_kpp_cri_mosaic_4bin_aq_Update_Rconst.o module_wkppc_constants.o - -module_kpp_mozart_Parameters.o: module_kpp_mozart_Precision.o - -module_kpp_mozart_Update_Rconst.o: module_kpp_mozart_Parameters.o - -module_kpp_mozart_Jacobian.o: module_kpp_mozart_Parameters.o module_kpp_mozart_JacobianSP.o - -module_kpp_mozart_Integr.o: module_kpp_mozart_Parameters.o module_kpp_mozart_Jacobian.o module_kpp_mozart_JacobianSP.o module_kpp_mozart_Update_Rconst.o module_wkppc_constants.o - -module_kpp_mozart_interface.o: module_kpp_mozart_Parameters.o module_kpp_mozart_Precision.o module_kpp_mozart_Integr.o module_kpp_mozart_Update_Rconst.o module_wkppc_constants.o - -module_kpp_cbmz_bb_Parameters.o: module_kpp_cbmz_bb_Precision.o - -module_kpp_cbmz_bb_Update_Rconst.o: module_kpp_cbmz_bb_Parameters.o - -module_kpp_cbmz_bb_Jacobian.o: module_kpp_cbmz_bb_Parameters.o module_kpp_cbmz_bb_JacobianSP.o - -module_kpp_cbmz_bb_Integr.o: module_kpp_cbmz_bb_Parameters.o module_kpp_cbmz_bb_Jacobian.o module_kpp_cbmz_bb_JacobianSP.o module_kpp_cbmz_bb_Update_Rconst.o module_wkppc_constants.o - -module_kpp_cbmz_bb_interface.o: module_kpp_cbmz_bb_Parameters.o module_kpp_cbmz_bb_Precision.o module_kpp_cbmz_bb_Integr.o module_kpp_cbmz_bb_Update_Rconst.o module_wkppc_constants.o - -module_kpp_saprc99_mosaic_4bin_vbs2_Parameters.o: module_kpp_saprc99_mosaic_4bin_vbs2_Precision.o - -module_kpp_saprc99_mosaic_4bin_vbs2_Update_Rconst.o: module_kpp_saprc99_mosaic_4bin_vbs2_Parameters.o - -module_kpp_saprc99_mosaic_4bin_vbs2_Jacobian.o: module_kpp_saprc99_mosaic_4bin_vbs2_Parameters.o module_kpp_saprc99_mosaic_4bin_vbs2_JacobianSP.o - -module_kpp_saprc99_mosaic_4bin_vbs2_Integr.o: module_kpp_saprc99_mosaic_4bin_vbs2_Parameters.o module_kpp_saprc99_mosaic_4bin_vbs2_Jacobian.o module_kpp_saprc99_mosaic_4bin_vbs2_JacobianSP.o module_kpp_saprc99_mosaic_4bin_vbs2_Update_Rconst.o module_wkppc_constants.o - -module_kpp_saprc99_mosaic_4bin_vbs2_interface.o: module_kpp_saprc99_mosaic_4bin_vbs2_Parameters.o module_kpp_saprc99_mosaic_4bin_vbs2_Precision.o module_kpp_saprc99_mosaic_4bin_vbs2_Integr.o module_kpp_saprc99_mosaic_4bin_vbs2_Update_Rconst.o module_wkppc_constants.o - -module_kpp_cbm4_Parameters.o: module_kpp_cbm4_Precision.o - -module_kpp_cbm4_Update_Rconst.o: module_kpp_cbm4_Parameters.o - -module_kpp_cbm4_Jacobian.o: module_kpp_cbm4_Parameters.o module_kpp_cbm4_JacobianSP.o - -module_kpp_cbm4_Integr.o: module_kpp_cbm4_Parameters.o module_kpp_cbm4_Jacobian.o module_kpp_cbm4_JacobianSP.o module_kpp_cbm4_Update_Rconst.o module_wkppc_constants.o - -module_kpp_cbm4_interface.o: module_kpp_cbm4_Parameters.o module_kpp_cbm4_Precision.o module_kpp_cbm4_Integr.o module_kpp_cbm4_Update_Rconst.o module_wkppc_constants.o - -module_kpp_mozart_mosaic_4bin_aq_Parameters.o: module_kpp_mozart_mosaic_4bin_aq_Precision.o - -module_kpp_mozart_mosaic_4bin_aq_Update_Rconst.o: module_kpp_mozart_mosaic_4bin_aq_Parameters.o - -module_kpp_mozart_mosaic_4bin_aq_Jacobian.o: module_kpp_mozart_mosaic_4bin_aq_Parameters.o module_kpp_mozart_mosaic_4bin_aq_JacobianSP.o - -module_kpp_mozart_mosaic_4bin_aq_Integr.o: module_kpp_mozart_mosaic_4bin_aq_Parameters.o module_kpp_mozart_mosaic_4bin_aq_Jacobian.o module_kpp_mozart_mosaic_4bin_aq_JacobianSP.o module_kpp_mozart_mosaic_4bin_aq_Update_Rconst.o module_wkppc_constants.o - -module_kpp_mozart_mosaic_4bin_aq_interface.o: module_kpp_mozart_mosaic_4bin_aq_Parameters.o module_kpp_mozart_mosaic_4bin_aq_Precision.o module_kpp_mozart_mosaic_4bin_aq_Integr.o module_kpp_mozart_mosaic_4bin_aq_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racm_esrlsorg_aqchem_Parameters.o: module_kpp_racm_esrlsorg_aqchem_Precision.o - -module_kpp_racm_esrlsorg_aqchem_Update_Rconst.o: module_kpp_racm_esrlsorg_aqchem_Parameters.o - -module_kpp_racm_esrlsorg_aqchem_Jacobian.o: module_kpp_racm_esrlsorg_aqchem_Parameters.o module_kpp_racm_esrlsorg_aqchem_JacobianSP.o - -module_kpp_racm_esrlsorg_aqchem_Integr.o: module_kpp_racm_esrlsorg_aqchem_Parameters.o module_kpp_racm_esrlsorg_aqchem_Jacobian.o module_kpp_racm_esrlsorg_aqchem_JacobianSP.o module_kpp_racm_esrlsorg_aqchem_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racm_esrlsorg_aqchem_interface.o: module_kpp_racm_esrlsorg_aqchem_Parameters.o module_kpp_racm_esrlsorg_aqchem_Precision.o module_kpp_racm_esrlsorg_aqchem_Integr.o module_kpp_racm_esrlsorg_aqchem_Update_Rconst.o module_wkppc_constants.o - -module_kpp_t1_mozcart_Parameters.o: module_kpp_t1_mozcart_Precision.o - -module_kpp_t1_mozcart_Update_Rconst.o: module_kpp_t1_mozcart_Parameters.o - -module_kpp_t1_mozcart_Jacobian.o: module_kpp_t1_mozcart_Parameters.o module_kpp_t1_mozcart_JacobianSP.o - -module_kpp_t1_mozcart_Integr.o: module_kpp_t1_mozcart_Parameters.o module_kpp_t1_mozcart_Jacobian.o module_kpp_t1_mozcart_JacobianSP.o module_kpp_t1_mozcart_Update_Rconst.o module_wkppc_constants.o - -module_kpp_t1_mozcart_interface.o: module_kpp_t1_mozcart_Parameters.o module_kpp_t1_mozcart_Precision.o module_kpp_t1_mozcart_Integr.o module_kpp_t1_mozcart_Update_Rconst.o module_wkppc_constants.o - -module_kpp_cbmz_mosaic_Parameters.o: module_kpp_cbmz_mosaic_Precision.o - -module_kpp_cbmz_mosaic_Update_Rconst.o: module_kpp_cbmz_mosaic_Parameters.o - -module_kpp_cbmz_mosaic_Jacobian.o: module_kpp_cbmz_mosaic_Parameters.o module_kpp_cbmz_mosaic_JacobianSP.o - -module_kpp_cbmz_mosaic_Integr.o: module_kpp_cbmz_mosaic_Parameters.o module_kpp_cbmz_mosaic_Jacobian.o module_kpp_cbmz_mosaic_JacobianSP.o module_kpp_cbmz_mosaic_Update_Rconst.o module_wkppc_constants.o - -module_kpp_cbmz_mosaic_interface.o: module_kpp_cbmz_mosaic_Parameters.o module_kpp_cbmz_mosaic_Precision.o module_kpp_cbmz_mosaic_Integr.o module_kpp_cbmz_mosaic_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racmsorg_Parameters.o: module_kpp_racmsorg_Precision.o - -module_kpp_racmsorg_Update_Rconst.o: module_kpp_racmsorg_Parameters.o - -module_kpp_racmsorg_Jacobian.o: module_kpp_racmsorg_Parameters.o module_kpp_racmsorg_JacobianSP.o - -module_kpp_racmsorg_Integr.o: module_kpp_racmsorg_Parameters.o module_kpp_racmsorg_Jacobian.o module_kpp_racmsorg_JacobianSP.o module_kpp_racmsorg_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racmsorg_interface.o: module_kpp_racmsorg_Parameters.o module_kpp_racmsorg_Precision.o module_kpp_racmsorg_Integr.o module_kpp_racmsorg_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racm_soa_vbs_het_Parameters.o: module_kpp_racm_soa_vbs_het_Precision.o - -module_kpp_racm_soa_vbs_het_Update_Rconst.o: module_kpp_racm_soa_vbs_het_Parameters.o - -module_kpp_racm_soa_vbs_het_Jacobian.o: module_kpp_racm_soa_vbs_het_Parameters.o module_kpp_racm_soa_vbs_het_JacobianSP.o - -module_kpp_racm_soa_vbs_het_Integr.o: module_kpp_racm_soa_vbs_het_Parameters.o module_kpp_racm_soa_vbs_het_Jacobian.o module_kpp_racm_soa_vbs_het_JacobianSP.o module_kpp_racm_soa_vbs_het_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racm_soa_vbs_het_interface.o: module_kpp_racm_soa_vbs_het_Parameters.o module_kpp_racm_soa_vbs_het_Precision.o module_kpp_racm_soa_vbs_het_Integr.o module_kpp_racm_soa_vbs_het_Update_Rconst.o module_wkppc_constants.o - -module_kpp_mozcart_Parameters.o: module_kpp_mozcart_Precision.o - -module_kpp_mozcart_Update_Rconst.o: module_kpp_mozcart_Parameters.o - -module_kpp_mozcart_Jacobian.o: module_kpp_mozcart_Parameters.o module_kpp_mozcart_JacobianSP.o - -module_kpp_mozcart_Integr.o: module_kpp_mozcart_Parameters.o module_kpp_mozcart_Jacobian.o module_kpp_mozcart_JacobianSP.o module_kpp_mozcart_Update_Rconst.o module_wkppc_constants.o - -module_kpp_mozcart_interface.o: module_kpp_mozcart_Parameters.o module_kpp_mozcart_Precision.o module_kpp_mozcart_Integr.o module_kpp_mozcart_Update_Rconst.o module_wkppc_constants.o - -module_kpp_mozart_mosaic_4bin_Parameters.o: module_kpp_mozart_mosaic_4bin_Precision.o - -module_kpp_mozart_mosaic_4bin_Update_Rconst.o: module_kpp_mozart_mosaic_4bin_Parameters.o - -module_kpp_mozart_mosaic_4bin_Jacobian.o: module_kpp_mozart_mosaic_4bin_Parameters.o module_kpp_mozart_mosaic_4bin_JacobianSP.o - -module_kpp_mozart_mosaic_4bin_Integr.o: module_kpp_mozart_mosaic_4bin_Parameters.o module_kpp_mozart_mosaic_4bin_Jacobian.o module_kpp_mozart_mosaic_4bin_JacobianSP.o module_kpp_mozart_mosaic_4bin_Update_Rconst.o module_wkppc_constants.o - -module_kpp_mozart_mosaic_4bin_interface.o: module_kpp_mozart_mosaic_4bin_Parameters.o module_kpp_mozart_mosaic_4bin_Precision.o module_kpp_mozart_mosaic_4bin_Integr.o module_kpp_mozart_mosaic_4bin_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racmpm_Parameters.o: module_kpp_racmpm_Precision.o - -module_kpp_racmpm_Update_Rconst.o: module_kpp_racmpm_Parameters.o - -module_kpp_racmpm_Jacobian.o: module_kpp_racmpm_Parameters.o module_kpp_racmpm_JacobianSP.o - -module_kpp_racmpm_Integr.o: module_kpp_racmpm_Parameters.o module_kpp_racmpm_Jacobian.o module_kpp_racmpm_JacobianSP.o module_kpp_racmpm_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racmpm_interface.o: module_kpp_racmpm_Parameters.o module_kpp_racmpm_Precision.o module_kpp_racmpm_Integr.o module_kpp_racmpm_Update_Rconst.o module_wkppc_constants.o - -module_kpp_radm2_Parameters.o: module_kpp_radm2_Precision.o - -module_kpp_radm2_Update_Rconst.o: module_kpp_radm2_Parameters.o - -module_kpp_radm2_Jacobian.o: module_kpp_radm2_Parameters.o module_kpp_radm2_JacobianSP.o - -module_kpp_radm2_Integr.o: module_kpp_radm2_Parameters.o module_kpp_radm2_Jacobian.o module_kpp_radm2_JacobianSP.o module_kpp_radm2_Update_Rconst.o module_wkppc_constants.o - -module_kpp_radm2_interface.o: module_kpp_radm2_Parameters.o module_kpp_radm2_Precision.o module_kpp_radm2_Integr.o module_kpp_radm2_Update_Rconst.o module_wkppc_constants.o - -module_kpp_cb05_sorg_aq_Parameters.o: module_kpp_cb05_sorg_aq_Precision.o - -module_kpp_cb05_sorg_aq_Update_Rconst.o: module_kpp_cb05_sorg_aq_Parameters.o - -module_kpp_cb05_sorg_aq_Jacobian.o: module_kpp_cb05_sorg_aq_Parameters.o module_kpp_cb05_sorg_aq_JacobianSP.o - -module_kpp_cb05_sorg_aq_Integr.o: module_kpp_cb05_sorg_aq_Parameters.o module_kpp_cb05_sorg_aq_Jacobian.o module_kpp_cb05_sorg_aq_JacobianSP.o module_kpp_cb05_sorg_aq_Update_Rconst.o module_wkppc_constants.o - -module_kpp_cb05_sorg_aq_interface.o: module_kpp_cb05_sorg_aq_Parameters.o module_kpp_cb05_sorg_aq_Precision.o module_kpp_cb05_sorg_aq_Integr.o module_kpp_cb05_sorg_aq_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racmsorg_aqchem_Parameters.o: module_kpp_racmsorg_aqchem_Precision.o - -module_kpp_racmsorg_aqchem_Update_Rconst.o: module_kpp_racmsorg_aqchem_Parameters.o - -module_kpp_racmsorg_aqchem_Jacobian.o: module_kpp_racmsorg_aqchem_Parameters.o module_kpp_racmsorg_aqchem_JacobianSP.o - -module_kpp_racmsorg_aqchem_Integr.o: module_kpp_racmsorg_aqchem_Parameters.o module_kpp_racmsorg_aqchem_Jacobian.o module_kpp_racmsorg_aqchem_JacobianSP.o module_kpp_racmsorg_aqchem_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racmsorg_aqchem_interface.o: module_kpp_racmsorg_aqchem_Parameters.o module_kpp_racmsorg_aqchem_Precision.o module_kpp_racmsorg_aqchem_Integr.o module_kpp_racmsorg_aqchem_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racm_soa_vbs_aqchem_Parameters.o: module_kpp_racm_soa_vbs_aqchem_Precision.o - -module_kpp_racm_soa_vbs_aqchem_Update_Rconst.o: module_kpp_racm_soa_vbs_aqchem_Parameters.o - -module_kpp_racm_soa_vbs_aqchem_Jacobian.o: module_kpp_racm_soa_vbs_aqchem_Parameters.o module_kpp_racm_soa_vbs_aqchem_JacobianSP.o - -module_kpp_racm_soa_vbs_aqchem_Integr.o: module_kpp_racm_soa_vbs_aqchem_Parameters.o module_kpp_racm_soa_vbs_aqchem_Jacobian.o module_kpp_racm_soa_vbs_aqchem_JacobianSP.o module_kpp_racm_soa_vbs_aqchem_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racm_soa_vbs_aqchem_interface.o: module_kpp_racm_soa_vbs_aqchem_Parameters.o module_kpp_racm_soa_vbs_aqchem_Precision.o module_kpp_racm_soa_vbs_aqchem_Integr.o module_kpp_racm_soa_vbs_aqchem_Update_Rconst.o module_wkppc_constants.o - -module_kpp_crimech_Parameters.o: module_kpp_crimech_Precision.o - -module_kpp_crimech_Update_Rconst.o: module_kpp_crimech_Parameters.o - -module_kpp_crimech_Jacobian.o: module_kpp_crimech_Parameters.o module_kpp_crimech_JacobianSP.o - -module_kpp_crimech_Integr.o: module_kpp_crimech_Parameters.o module_kpp_crimech_Jacobian.o module_kpp_crimech_JacobianSP.o module_kpp_crimech_Update_Rconst.o module_wkppc_constants.o - -module_kpp_crimech_interface.o: module_kpp_crimech_Parameters.o module_kpp_crimech_Precision.o module_kpp_crimech_Integr.o module_kpp_crimech_Update_Rconst.o module_wkppc_constants.o - -module_kpp_cri_mosaic_8bin_aq_Parameters.o: module_kpp_cri_mosaic_8bin_aq_Precision.o - -module_kpp_cri_mosaic_8bin_aq_Update_Rconst.o: module_kpp_cri_mosaic_8bin_aq_Parameters.o - -module_kpp_cri_mosaic_8bin_aq_Jacobian.o: module_kpp_cri_mosaic_8bin_aq_Parameters.o module_kpp_cri_mosaic_8bin_aq_JacobianSP.o - -module_kpp_cri_mosaic_8bin_aq_Integr.o: module_kpp_cri_mosaic_8bin_aq_Parameters.o module_kpp_cri_mosaic_8bin_aq_Jacobian.o module_kpp_cri_mosaic_8bin_aq_JacobianSP.o module_kpp_cri_mosaic_8bin_aq_Update_Rconst.o module_wkppc_constants.o - -module_kpp_cri_mosaic_8bin_aq_interface.o: module_kpp_cri_mosaic_8bin_aq_Parameters.o module_kpp_cri_mosaic_8bin_aq_Precision.o module_kpp_cri_mosaic_8bin_aq_Integr.o module_kpp_cri_mosaic_8bin_aq_Update_Rconst.o module_wkppc_constants.o - -module_kpp_saprc99_Parameters.o: module_kpp_saprc99_Precision.o - -module_kpp_saprc99_Update_Rconst.o: module_kpp_saprc99_Parameters.o - -module_kpp_saprc99_Jacobian.o: module_kpp_saprc99_Parameters.o module_kpp_saprc99_JacobianSP.o - -module_kpp_saprc99_Integr.o: module_kpp_saprc99_Parameters.o module_kpp_saprc99_Jacobian.o module_kpp_saprc99_JacobianSP.o module_kpp_saprc99_Update_Rconst.o module_wkppc_constants.o - -module_kpp_saprc99_interface.o: module_kpp_saprc99_Parameters.o module_kpp_saprc99_Precision.o module_kpp_saprc99_Integr.o module_kpp_saprc99_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racm_soa_vbs_Parameters.o: module_kpp_racm_soa_vbs_Precision.o - -module_kpp_racm_soa_vbs_Update_Rconst.o: module_kpp_racm_soa_vbs_Parameters.o - -module_kpp_racm_soa_vbs_Jacobian.o: module_kpp_racm_soa_vbs_Parameters.o module_kpp_racm_soa_vbs_JacobianSP.o - -module_kpp_racm_soa_vbs_Integr.o: module_kpp_racm_soa_vbs_Parameters.o module_kpp_racm_soa_vbs_Jacobian.o module_kpp_racm_soa_vbs_JacobianSP.o module_kpp_racm_soa_vbs_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racm_soa_vbs_interface.o: module_kpp_racm_soa_vbs_Parameters.o module_kpp_racm_soa_vbs_Precision.o module_kpp_racm_soa_vbs_Integr.o module_kpp_racm_soa_vbs_Update_Rconst.o module_wkppc_constants.o - -module_kpp_cb05_sorg_vbs_aq_Parameters.o: module_kpp_cb05_sorg_vbs_aq_Precision.o - -module_kpp_cb05_sorg_vbs_aq_Update_Rconst.o: module_kpp_cb05_sorg_vbs_aq_Parameters.o - -module_kpp_cb05_sorg_vbs_aq_Jacobian.o: module_kpp_cb05_sorg_vbs_aq_Parameters.o module_kpp_cb05_sorg_vbs_aq_JacobianSP.o - -module_kpp_cb05_sorg_vbs_aq_Integr.o: module_kpp_cb05_sorg_vbs_aq_Parameters.o module_kpp_cb05_sorg_vbs_aq_Jacobian.o module_kpp_cb05_sorg_vbs_aq_JacobianSP.o module_kpp_cb05_sorg_vbs_aq_Update_Rconst.o module_wkppc_constants.o - -module_kpp_cb05_sorg_vbs_aq_interface.o: module_kpp_cb05_sorg_vbs_aq_Parameters.o module_kpp_cb05_sorg_vbs_aq_Precision.o module_kpp_cb05_sorg_vbs_aq_Integr.o module_kpp_cb05_sorg_vbs_aq_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racm_Parameters.o: module_kpp_racm_Precision.o - -module_kpp_racm_Update_Rconst.o: module_kpp_racm_Parameters.o - -module_kpp_racm_Jacobian.o: module_kpp_racm_Parameters.o module_kpp_racm_JacobianSP.o - -module_kpp_racm_Integr.o: module_kpp_racm_Parameters.o module_kpp_racm_Jacobian.o module_kpp_racm_JacobianSP.o module_kpp_racm_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racm_interface.o: module_kpp_racm_Parameters.o module_kpp_racm_Precision.o module_kpp_racm_Integr.o module_kpp_racm_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racm_esrlsorg_Parameters.o: module_kpp_racm_esrlsorg_Precision.o - -module_kpp_racm_esrlsorg_Update_Rconst.o: module_kpp_racm_esrlsorg_Parameters.o - -module_kpp_racm_esrlsorg_Jacobian.o: module_kpp_racm_esrlsorg_Parameters.o module_kpp_racm_esrlsorg_JacobianSP.o - -module_kpp_racm_esrlsorg_Integr.o: module_kpp_racm_esrlsorg_Parameters.o module_kpp_racm_esrlsorg_Jacobian.o module_kpp_racm_esrlsorg_JacobianSP.o module_kpp_racm_esrlsorg_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racm_esrlsorg_interface.o: module_kpp_racm_esrlsorg_Parameters.o module_kpp_racm_esrlsorg_Precision.o module_kpp_racm_esrlsorg_Integr.o module_kpp_racm_esrlsorg_Update_Rconst.o module_wkppc_constants.o - -module_kpp_gocartracm_Parameters.o: module_kpp_gocartracm_Precision.o - -module_kpp_gocartracm_Update_Rconst.o: module_kpp_gocartracm_Parameters.o - -module_kpp_gocartracm_Jacobian.o: module_kpp_gocartracm_Parameters.o module_kpp_gocartracm_JacobianSP.o - -module_kpp_gocartracm_Integr.o: module_kpp_gocartracm_Parameters.o module_kpp_gocartracm_Jacobian.o module_kpp_gocartracm_JacobianSP.o module_kpp_gocartracm_Update_Rconst.o module_wkppc_constants.o - -module_kpp_gocartracm_interface.o: module_kpp_gocartracm_Parameters.o module_kpp_gocartracm_Precision.o module_kpp_gocartracm_Integr.o module_kpp_gocartracm_Update_Rconst.o module_wkppc_constants.o - -module_kpp_radm2sorg_Parameters.o: module_kpp_radm2sorg_Precision.o - -module_kpp_radm2sorg_Update_Rconst.o: module_kpp_radm2sorg_Parameters.o - -module_kpp_radm2sorg_Jacobian.o: module_kpp_radm2sorg_Parameters.o module_kpp_radm2sorg_JacobianSP.o - -module_kpp_radm2sorg_Integr.o: module_kpp_radm2sorg_Parameters.o module_kpp_radm2sorg_Jacobian.o module_kpp_radm2sorg_JacobianSP.o module_kpp_radm2sorg_Update_Rconst.o module_wkppc_constants.o - -module_kpp_radm2sorg_interface.o: module_kpp_radm2sorg_Parameters.o module_kpp_radm2sorg_Precision.o module_kpp_radm2sorg_Integr.o module_kpp_radm2sorg_Update_Rconst.o module_wkppc_constants.o - -module_kpp_saprc99_mosaic_8bin_vbs2_aq_Parameters.o: module_kpp_saprc99_mosaic_8bin_vbs2_aq_Precision.o - -module_kpp_saprc99_mosaic_8bin_vbs2_aq_Update_Rconst.o: module_kpp_saprc99_mosaic_8bin_vbs2_aq_Parameters.o - -module_kpp_saprc99_mosaic_8bin_vbs2_aq_Jacobian.o: module_kpp_saprc99_mosaic_8bin_vbs2_aq_Parameters.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_JacobianSP.o - -module_kpp_saprc99_mosaic_8bin_vbs2_aq_Integr.o: module_kpp_saprc99_mosaic_8bin_vbs2_aq_Parameters.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_Jacobian.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_JacobianSP.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_Update_Rconst.o module_wkppc_constants.o - -module_kpp_saprc99_mosaic_8bin_vbs2_aq_interface.o: module_kpp_saprc99_mosaic_8bin_vbs2_aq_Parameters.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_Precision.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_Integr.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racm_mim_Parameters.o: module_kpp_racm_mim_Precision.o - -module_kpp_racm_mim_Update_Rconst.o: module_kpp_racm_mim_Parameters.o - -module_kpp_racm_mim_Jacobian.o: module_kpp_racm_mim_Parameters.o module_kpp_racm_mim_JacobianSP.o - -module_kpp_racm_mim_Integr.o: module_kpp_racm_mim_Parameters.o module_kpp_racm_mim_Jacobian.o module_kpp_racm_mim_JacobianSP.o module_kpp_racm_mim_Update_Rconst.o module_wkppc_constants.o - -module_kpp_racm_mim_interface.o: module_kpp_racm_mim_Parameters.o module_kpp_racm_mim_Precision.o module_kpp_racm_mim_Integr.o module_kpp_racm_mim_Update_Rconst.o module_wkppc_constants.o - -module_wkkpc_constants.o: - -kpp_mechanism_driver.o: module_kpp_nmhc9_interface.o module_kpp_cri_mosaic_4bin_aq_interface.o \ - module_kpp_mozart_interface.o module_kpp_cbmz_bb_interface.o module_kpp_saprc99_mosaic_4bin_vbs2_interface.o \ - module_kpp_cbm4_interface.o module_kpp_mozart_mosaic_4bin_aq_interface.o module_kpp_racm_esrlsorg_aqchem_interface.o \ - module_kpp_t1_mozcart_interface.o module_kpp_cbmz_mosaic_interface.o module_kpp_racmsorg_interface.o \ - module_kpp_racm_soa_vbs_het_interface.o module_kpp_mozcart_interface.o module_kpp_mozart_mosaic_4bin_interface.o \ - module_kpp_racmpm_interface.o module_kpp_radm2_interface.o module_kpp_cb05_sorg_aq_interface.o \ - module_kpp_racmsorg_aqchem_interface.o module_kpp_racm_soa_vbs_aqchem_interface.o module_kpp_crimech_interface.o \ - module_kpp_cri_mosaic_8bin_aq_interface.o module_kpp_saprc99_interface.o module_kpp_racm_soa_vbs_interface.o \ - module_kpp_cb05_sorg_vbs_aq_interface.o module_kpp_racm_interface.o module_kpp_racm_esrlsorg_interface.o \ - module_kpp_gocartracm_interface.o module_kpp_radm2sorg_interface.o module_kpp_saprc99_mosaic_8bin_vbs2_aq_interface.o \ - module_kpp_racm_mim_interface.o - include depend.chem diff --git a/compile b/compile index 3b96dc6403..0749cfcdef 100755 --- a/compile +++ b/compile @@ -407,7 +407,20 @@ else echo " " uname -a echo " " +# remove comment text set comp = ( `grep "^SFC" configure.wrf | cut -d"#" -f1 | cut -d"=" -f2-` ) +# if ( "$comp[1]" == "gfortran" ) then +# gfortran --version +# else if ( "$comp[1]" == "pgf90" ) then +# pgf90 --version +# else if ( "$comp[1]" == "ifort" ) then +# ifort -V +## in case using ifx +# else if ( "$comp[1]" == "ifx" ) then +# ifx -V +# else +# echo "Not sure how to figure out the version of this compiler: $comp[1]" +# endif $comp[1] -V >& /dev/null if ( $status == 0 ) then $comp[1] --version diff --git a/tools/gen_wrf_io.c b/tools/gen_wrf_io.c index d228f6c962..0ba0c78294 100644 --- a/tools/gen_wrf_io.c +++ b/tools/gen_wrf_io.c @@ -85,7 +85,7 @@ gen_wrf_io2 ( FILE * fp , char * fname, char * structname , char * fourdname, no { - if ( p->ndims > 3 && ( (! p->node_kind) & FOURD ) ) continue ; /* short circuit anything with more than 3 dims, (not counting 4d arrays) */ + if ( p->ndims > 3 && ( (! p->node_kind) ) & FOURD ) continue ; /* short circuit anything with more than 3 dims, (not counting 4d arrays) */ if ( p->node_kind & I1 ) continue ; /* short circuit anything that's not a state var */ From 401c8e4b48d1f28c0c779dca45776c7ecc21592b Mon Sep 17 00:00:00 2001 From: ahheo Date: Mon, 19 Feb 2024 13:01:07 +0800 Subject: [PATCH 9/9] removing previous logic of compiler detection (compile) and revising an if condition grouping (tools/gen_wrf_io.c) --- compile | 13 ------------- tools/gen_wrf_io.c | 2 +- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/compile b/compile index 0749cfcdef..3b96dc6403 100755 --- a/compile +++ b/compile @@ -407,20 +407,7 @@ else echo " " uname -a echo " " -# remove comment text set comp = ( `grep "^SFC" configure.wrf | cut -d"#" -f1 | cut -d"=" -f2-` ) -# if ( "$comp[1]" == "gfortran" ) then -# gfortran --version -# else if ( "$comp[1]" == "pgf90" ) then -# pgf90 --version -# else if ( "$comp[1]" == "ifort" ) then -# ifort -V -## in case using ifx -# else if ( "$comp[1]" == "ifx" ) then -# ifx -V -# else -# echo "Not sure how to figure out the version of this compiler: $comp[1]" -# endif $comp[1] -V >& /dev/null if ( $status == 0 ) then $comp[1] --version diff --git a/tools/gen_wrf_io.c b/tools/gen_wrf_io.c index 0ba0c78294..d228f6c962 100644 --- a/tools/gen_wrf_io.c +++ b/tools/gen_wrf_io.c @@ -85,7 +85,7 @@ gen_wrf_io2 ( FILE * fp , char * fname, char * structname , char * fourdname, no { - if ( p->ndims > 3 && ( (! p->node_kind) ) & FOURD ) continue ; /* short circuit anything with more than 3 dims, (not counting 4d arrays) */ + if ( p->ndims > 3 && ( (! p->node_kind) & FOURD ) ) continue ; /* short circuit anything with more than 3 dims, (not counting 4d arrays) */ if ( p->node_kind & I1 ) continue ; /* short circuit anything that's not a state var */