!################################################################# ! ! feedback dimensions ! !### macro's ##################################################### ! #define TRACEBACK write (gol,'("in ",a," (",a,", line",i5,")")') rname, __FILE__, __LINE__; call goErr #define IF_NOTOK_RETURN(action) if (status/=0) then; TRACEBACK; action; return; end if #define IF_ERROR_RETURN(action) if (status> 0) then; TRACEBACK; action; return; end if ! #include "tm5.inc" ! !################################################################# module TM5_Feedback use GO, only : gol, goPr, goErr implicit none ! --- in/out -------------------------------- public ! --- const -------------------------------------- integer , parameter :: fdb_ntr = 1 integer, parameter :: fdb_itr_co = 1 ! integer, parameter :: fdb_itr_o3 = 2 ! integer, parameter :: fdb_itr_nox = 3 ! integer, parameter :: fdb_itr_ch2o = 4 ! integer, parameter :: fdb_itr_so2 = 5 ! character(len=*), parameter :: fdb_trname(fdb_ntr) = (/ 'co ', 'o3 ', 'nox ', 'ch2o', 'so2 ' /) character(len=*), parameter :: fdb_trname(fdb_ntr) = (/ 'co '/) ! --- var -------------------------------------- ! enable feedback logical :: fdb_enable ! replace tm5 tracer by received field ? ! filled from rcfile in tm5.F90 logical :: fdb_replace(fdb_ntr) ! tm5 tracer index for fdb index: integer :: fdb_itracer(fdb_ntr) ! adhoc: only at start time field seem to be send ... logical :: fdb_firstonly end module TM5_FeedBack