5 #include "protos_kpp.h"
9 int gen_kpp_warning( FILE * ofile
, char * gen_by_name
, char*cchar
)
11 fprintf(ofile
, "%s \n", cchar
);
12 fprintf(ofile
, "%s THIS FILE WAS AUTOMATICALLY GENERATED BY \n%s\n",cchar
,cchar
);
13 fprintf(ofile
, "%s %s \n%s\n", cchar
, gen_by_name
, cchar
);
14 fprintf(ofile
, "%s MANUAL CHANGES TO THIS FILE WILL BE LOST !!! \n", cchar
); fprintf(ofile
, "%s \n", cchar
);
15 fprintf(ofile
, "%s \n", cchar
);
21 gen_kpp_pass_down ( FILE * ofile
)
25 fprintf(ofile
,"#include <fixed_args_kpp_interf.inc>\n");
28 /* pass down all radicals */
29 gen_kpp_argl( ofile
, WRFC_radicals
);
33 gen_kpp_argl( ofile
, WRFC_jvals
);
36 /* pass down dimensions */
37 gen_kpp_argd ( ofile
);
43 gen_kpp_decl ( FILE * ofile
)
45 /* declare dimensions */
46 gen_kpp_decld ( ofile
);
49 fprintf(ofile
,"#include <fixed_decl_kpp_interf.inc>\n\n\n");
53 /* declare radicals */
54 fprintf(ofile
, "\n\n! \n");
55 fprintf(ofile
, "! radicals \n");
56 fprintf(ofile
, "! \n");
58 gen_kpp_decl3d( ofile
, WRFC_radicals
);
61 /* declare photolysis rates */
62 fprintf(ofile
, "\n\n! \n");
63 fprintf(ofile
, "! photolysis rates \n");
64 fprintf(ofile
, "! \n");
66 gen_kpp_decl3d( ofile
, WRFC_jvals
);
69 fprintf(ofile
, " \n\n\n");
74 int gen_kpp_argl( FILE * ofile
, knode_t
* nl
)
83 for ( pml
= nl
-> members
; pml
!= NULL
; pml
= pml
->next
) {
84 fprintf(ofile
," %s,", pml
->name
);
86 if ( countit
% max_per_line
== 0) {
87 fprintf(ofile
," & \n ");
92 fprintf(ofile
," & \n");
99 int gen_kpp_argl_new( FILE * ofile
, knode_t
* nl
)
108 for ( pml
= nl
-> members
; pml
!= NULL
; pml
= pml
->next
) {
109 fprintf(ofile
," grid%%%s,", pml
->name
);
111 if ( countit
% max_per_line
== 0) {
112 fprintf(ofile
," & \n ");
117 fprintf(ofile
," & \n");
126 int gen_kpp_argd ( FILE * ofile
)
128 fprintf(ofile
, " ids,ide, jds,jde, kds,kde, &\n");
129 fprintf(ofile
, " ims,ime, jms,jme, kms,kme, &\n");
130 fprintf(ofile
, " its,ite, jts,jte, kts,kte )\n\n\n");
134 int gen_kpp_decld ( FILE * ofile
)
136 fprintf(ofile
, "\n\n\n INTEGER, INTENT(IN ) :: &\n");
137 fprintf(ofile
, " ids,ide, jds,jde, kds,kde, & \n");
138 fprintf(ofile
, " ims,ime, jms,jme, kms,kme, & \n");
139 fprintf(ofile
, " its,ite, jts,jte, kts,kte \n\n\n\n");
142 int gen_kpp_decl3d( FILE * ofile
, knode_t
* nl
)
148 fprintf(ofile
, " REAL, DIMENSION( ims:ime, kms:kme, jms:jme ), & \n");
149 fprintf(ofile
, " INTENT(INOUT ) :: & \n ");
153 for ( pml
= nl
-> members
; pml
!= NULL
; pml
= pml
->next
) {
157 if ( pml
->next
!= NULL
){
158 fprintf(ofile
," %s,", pml
->name
);
161 fprintf(ofile
," %s", pml
->name
);
165 if ( countit
% max_per_line
== 0) {
166 if ( pml
->next
!= NULL
){
167 fprintf(ofile
," & \n ");