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 if ( countit
% max_per_line
!= 0) {
93 fprintf(ofile
," & \n");
101 int gen_kpp_argl_new( FILE * ofile
, knode_t
* nl
)
110 for ( pml
= nl
-> members
; pml
!= NULL
; pml
= pml
->next
) {
111 fprintf(ofile
," grid%%%s,", pml
->name
);
113 if ( countit
% max_per_line
== 0) {
114 fprintf(ofile
," & \n ");
119 if ( countit
% max_per_line
!= 0) {
120 fprintf(ofile
," & \n");
130 int gen_kpp_argd ( FILE * ofile
)
132 fprintf(ofile
, " ids,ide, jds,jde, kds,kde, &\n");
133 fprintf(ofile
, " ims,ime, jms,jme, kms,kme, &\n");
134 fprintf(ofile
, " its,ite, jts,jte, kts,kte )\n\n\n");
138 int gen_kpp_decld ( FILE * ofile
)
140 fprintf(ofile
, "\n\n\n INTEGER, INTENT(IN ) :: &\n");
141 fprintf(ofile
, " ids,ide, jds,jde, kds,kde, & \n");
142 fprintf(ofile
, " ims,ime, jms,jme, kms,kme, & \n");
143 fprintf(ofile
, " its,ite, jts,jte, kts,kte \n\n\n\n");
146 int gen_kpp_decl3d( FILE * ofile
, knode_t
* nl
)
152 fprintf(ofile
, " REAL, DIMENSION( ims:ime, kms:kme, jms:jme ), & \n");
153 fprintf(ofile
, " INTENT(INOUT ) :: & \n ");
157 for ( pml
= nl
-> members
; pml
!= NULL
; pml
= pml
->next
) {
161 if ( pml
->next
!= NULL
){
162 fprintf(ofile
," %s,", pml
->name
);
165 fprintf(ofile
," %s", pml
->name
);
169 if ( countit
% max_per_line
== 0) {
170 if ( pml
->next
!= NULL
){
171 fprintf(ofile
," & \n ");