Print

Print


I have written two independent codes and now want to make code 2 (est) as a
subroutine of code 1 (chaleur). Within chaleur, there are hooks for a
subroutine named "usr_subr_get_tchem". Since I knew from the beginning that
I wanted to couple the two codes, est also includes a subroutine named
"usr_subr_get_tchem" with the idea of simply dropping
est/usr_subr_get_tchem.f90 into chaleur and I would be ready to compile the
combined programs. Unfortunately, both chaleur and est have some common text
processing routines as well as common modules; this makes things more
complicated than I anticipated. For the purposes of discussion, suppose the
two codes are structured as follows:

 

program chaleur

                various modules

                subroutine chal_1

                subroutine chal_2

                .

                subroutine chal_23

                subroutine usr_subr_get_tchem

 

program est

                various modules, some of which are also in chaleur

                subroutine usr_subr_get_tchem

                                subroutine chal_7

                                subroutine chal_9

                                subroutine chal_11

                                subroutine est_1

                                subroutine est_2

                                .

                                subroutine est_14

 

The reason for the two code structure is that program est could be debugged
independent of chaleur and I want to preserve this into the future.

 

When I try to compile chaleur (makefile) using subroutine usr_subr_get_tchem
from program est, subroutines chal_7, chal_9, and chal_11 are doubly defined
and I get errors. Can you suggest a way around this dilemma that does not
require that I delete all the duplicate routines contained in
est/usr_subr_get_tchem? An additional constraint is that est needs to
continue to function as a standalone code in addition to providing
usr_subr_get_tchem for chaleur.

 

Thanks,

Ben

 

Ben Blackwell

Blackwell Consulting

PO Box 2879

Corrales, NM 87048

505-897-5090

(fax) 505-890-4992

[log in to unmask]