[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 20050117: Ice bulb temperature
- Subject: Re: 20050117: Ice bulb temperature
- Date: 22 Mar 2005 12:19:25 -0700
Patrick,
In my previous message, I stated:
To create a grid program function, you would need to create a
DF library function to call your PR routine for every grid point
and add this routine to the call list of
$GEMPAK/source/gemlib/dg/dgdriv.f.
So, you would likely have a routine df_tmik() trhat is called by
dg_driv() for 'TMIK' as the parameter. The job of df_tmik would
be to call pr_tmik for every grid point. The df_ routines will
provide a framework for how to allocate a grid for the
computation, and store the name, level, time and coordinate of the grid.
A good reference would be to look at df_relh().
Steve Chiswell
On Tue, 2005-03-22 at 11:51, Patrick S. Market wrote:
> Steve:
>
> This is working fine for plots with SF programs, but when I tried
> to do a gridded file today, it did not work. My TMIK was simply
> not recognized.
>
> I get
>
> GEMPAK-GDCNTR>r
> [DG -7] Input grid TMIK ^970410/0000F012 @900 %PRES cannot be found.
>
> Any ideas on what else have I missed?
>
> Pat
>
> >
> > Patrick,
> >
> > This means that your dfrmik.o isn't in your gemlib.a file.
> > Assuming hhere that you have written that routine.
> >
> > Go to $GEMPAK/source/gemlib/df
> > and type:
> > make
> >
> > I'm assuming you have added the dftmik.o to the Makefile to
> > build. Assuming you have dftmik.o now, to make sure it is added
> > to your gemlib.a, type:
> > ar rv $GEMLIB/gemlib.a dftmik.o
> >
> >
> > Steve Chiswell
> > Unidata User Support
> >
> >
> >
> > On Mon, 2005-01-24 at 07:55, Patrick S. Market wrote:
> > > Steve:
> > >
> > > This hasn't quite worked. Have I missed a step. Make bombs out
> > > with the following:
> > >
> > > ar: creating /asp/met/GEMPAK5.7.4/lib/sol_gcc/gdgrib.a
> > > ar: writing /asp/met/GEMPAK5.7.4/lib/sol_gcc/gdgrib.a
> > > rm -f *.o
> > > g77 -fno-second-underscore -I/asp/met/GEMPAK5.7.4/gempak/include
> > > -I/asp/met/GEMPAK5.7.4/gempak/include/SunOS.gcc gdgrib.f
> > > /asp/met/GEMPAK5.7.4/lib/sol_gcc/gdgrib.a
> > > /asp/met/GEMPAK5.7.4/lib/sol_gcc/gemlib.a
> > > /asp/met/GEMPAK5.7.4/lib/sol_gcc/appl.a
> > > /asp/met/GEMPAK5.7.4/lib/sol_gcc/syslib.a
> > > /asp/met/GEMPAK5.7.4/lib/sol_gcc/cgemlib.a -lm -o gdgrib
> > > Undefined first referenced
> > > symbol in file
> > > df_tmik_
> > > /asp/met/GEMPAK5.7.4/lib/sol_gcc/gemlib.a(dgdriv.o)
> > > ld: fatal: Symbol referencing errors. No output written to gdgrib
> > > collect2: ld returned 1 exit status
> > > *** Error code 1
> > > make: Fatal error: Command failed for target `gdgrib'
> > > Current working directory
> > > /asp/met/GEMPAK5.7.4/gempak/source/contrib/hpc/gdgrib
> > > *** Error code 1
> > > make: Fatal error: Command failed for target `gdgrib'
> > > Current working directory
> > > /asp/met/GEMPAK5.7.4/gempak/source/programs/na/gd2ndfd
> > > *** Error code 1
> > > make: Fatal error: Command failed for target `all'
> > > Current working directory /asp/met/GEMPAK5.7.4/gempak/source/programs/na
> > > *** Error code 1
> > > make: Fatal error: Command failed for target `all'
> > > Current working directory /asp/met/GEMPAK5.7.4/gempak/source/programs
> > > *** Error code 1
> > > make: Fatal error: Command failed for target `all'
> > > Current working directory /asp/met/GEMPAK5.7.4/gempak/source
> > > *** Error code 1
> > > make: Fatal error: Command failed for target `all'
> > > Current working directory /asp/met/GEMPAK5.7.4/gempak
> > > *** Error code 1
> > > make: Fatal error: Command failed for target `all'
> > >
> > >
> > >
> > >
> > > Pat
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > >
> > > > Pat,
> > > >
> > > > your PR_ routine would be used for SF and SN programs.
> > > > You need to add your function to $GEMTBL/parms/pcconv.tbl,
> > > >
> > > > and
> > > >
> > > > Add your PR_TMIB routine to the call list in
> > > > $GEMPAK/sounrce/gemlib/pc/pcfunc.f.
> > > >
> > > > To create a grid program function, you would need to create a
> > > > DF library function to call your PR routine for every grid point
> > > > and add this routine to the call list of
> > > > $GEMPAK/source/gemlib/dg/dgdriv.f.
> > > >
> > > > Steve Chiswell
> > > >
> > > > On Mon, 17 Jan 2005, Patrick S. Market wrote:
> > > >
> > > > > Steve:
> > > > >
> > > > > I am trying to include a subroutine into GEMPAK that I have modified.
> > > > >
> > > > > I have rewritten TMWB to calculate to include the latent heat of
> > > > > fusion
> > > > > as well (see below). The code compiles alright, but trying to use it
> > > > > turns up:
> > > > >
> > > > > [DG -19] Operator TMIB is not recognized.
> > > > >
> > > > > How do I get this new function into GEMPAK?
> > > > >
> > > > > Pat
> > > > >
> > > > >
> > > > >
> > > > > *******************************begin
> > > > > include****************************
> > > > > FUNCTION PR_TMIB ( tmpk, rmix, pres )
> > > > > C************************************************************************
> > > > > C* PR_TMIB
> > > > > *
> > > > > C*
> > > > > *
> > > > > C* This function computes ice bulb temperature from the temperature,
> > > > > *
> > > > > C* mixing ratio, and pressure. The result is obtained by solving
> > > > > *
> > > > > C* for the temperature at which saturation occurs when the latent
> > > > > *
> > > > > C* heat required to vaporize/melt ice is provided by a cooling of
> > > > > *
> > > > > C* the air. The equation representing the process is
> > > > > *
> > > > > C*
> > > > > *
> > > > > C* ( TMPK - TMWB ) * CP - ( Rsat (TMWB) - RMIX ) * LVAP = 0
> > > > > *
> > > > > C*
> > > > > *
> > > > > C* This implicit equation is solved by Newton's method, since the
> > > > > *
> > > > > C* saturation mixing ratio Rsat is a transcendental function of
> > > > > *
> > > > > C* TMWB.
> > > > > *
> > > > > C*
> > > > > *
> > > > > C* The expressions for the heat of vaporization (LVAP) and saturation
> > > > > *
> > > > > C* vapor pressure are equations (2) and (10) from Bolton (MWR, 1980).
> > > > > *
> > > > > C*
> > > > > *
> > > > > C* REAL PR_TMIB ( TMPK, RMIX, PRES )
> > > > > *
> > > > > C*
> > > > > *
> > > > > C* Input parameters:
> > > > > *
> > > > > C* TMPK REAL Temperature (K)
> > > > > *
> > > > > C* RMIX REAL Mixing ratio (g/kg)
> > > > > *
> > > > > C* PRES REAL Pressure (mb)
> > > > > *
> > > > > C*
> > > > > *
> > > > > C* Output parameters:
> > > > > *
> > > > > C* PR_TMIB REAL Wet bulb temperature (K)
> > > > > *
> > > > > C**
> > > > > *
> > > > > C* Log:
> > > > > *
> > > > > C* K. Brill/NMC 4/94
> > > > > *
> > > > > C* S. Jacobs/NMC 4/94 Changed input RMIX from kg/kg to g/kg
> > > > > *
> > > > > C* G. Krueger/EAI 4/96 Replaced C->K constant with PR_TMKC
> > > > > *
> > > > > C* T. Lee/GSC 11/96 Changed constant
> > > > > *
> > > > > C* S. Jacobs/NCEP 8/97 Changed latent heat calc to use
> > > > > PR_LHVP *
> > > > > C* T. Lee/GSC 8/97 Set TMWB <= temp; Simplify
> > > > > computation *
> > > > > C************************************************************************
> > > > > INCLUDE 'GEMPRM.PRM'
> > > > > C*
> > > > > PARAMETER ( A = 6.112, B = 17.67, C = 243.5, EPSI =
> > > > > .622 )
> > > > > PARAMETER ( G = B * C )
> > > > > PARAMETER ( ERRMAX = .001 )
> > > > > C*
> > > > > LOGICAL convrg
> > > > > C*
> > > > > INCLUDE 'ERMISS.FNC'
> > > > > C------------------------------------------------------------------------
> > > > > C* Check for missing values.
> > > > > C
> > > > > IF ( ERMISS ( tmpk ) .or. ERMISS ( rmix ) .or. ERMISS ( pres
> > > > > )
> > > > > + .or. ( pres .le. 0. ) ) THEN
> > > > > PR_TMWB = RMISSD
> > > > > ELSE
> > > > > C
> > > > > C* Change temperature to degrees Celsius.
> > > > > C
> > > > > tmp = PR_TMKC (tmpk)
> > > > > C
> > > > > C* Compute the latent heat of sublimation.
> > > > > C
> > > > > lvap = PR_LHVP ( tmp ) + (0.333 * 1.0E6)
> > > > > C
> > > > > C* Compute the specific heat of moist air.
> > > > > C
> > > > > rmix = rmix / 1000.
> > > > > cp = 1005.7 * ( 1. + .887 * rmix )
> > > > > C
> > > > > C* Compute L / cp.
> > > > > C
> > > > > rlocp = lvap / cp
> > > > > C
> > > > > C* Do Newton iteration.
> > > > > C
> > > > > iter = 0
> > > > > tib = tmp
> > > > > convrg = .false.
> > > > > DO WHILE ( iter .le. 50 .and. .not. convrg )
> > > > > iter = iter + 1
> > > > > bt = B * tib
> > > > > tpc = tib + C
> > > > > d = ( pres / A ) * EXP ( -bt / tpc )
> > > > > dm1 = d - 1.
> > > > > f = ( tmp - tib ) - rlocp * ( EPSI / dm1 - rmix )
> > > > > df = - G / ( tpc * tpc )
> > > > > df = d * df * rlocp * EPSI / ( dm1 * dm1 ) - 1.
> > > > > cor = f / df
> > > > > tib = tib - cor
> > > > > IF ( ABS ( cor ) .le. ERRMAX ) convrg = .true.
> > > > > END DO
> > > > > C*
> > > > > IF ( .not. convrg ) THEN
> > > > > PR_TMWB = RMISSD
> > > > > ELSE
> > > > > twk = PR_TMCK (tib)
> > > > > IF ( twk .gt. tmpk ) twk = tmpk
> > > > > PR_TMIB = twk
> > > > > END IF
> > > > > END IF
> > > > > C*
> > > > > RETURN
> > > > > END
> > > > >
> > > > > *******************************begin
> > > > > include****************************
> > > > >
> > > > > --
> > > > > ========================================================================
> > > > > Dr. Patrick S. Market
> > > > > Dept. of Soil, Env. & Atmospheric Sci.
> > > > > University of Missouri-Columbia Phone: (573) 882 -
> > > > > 1496
> > > > > 331 ABNR Hall Lab: (573) 882 -
> > > > > 4401
> > > > > Columbia, MO 65211 USA E-mail: address@hidden
> > > > > ========================================================================
> > > > >
> > > >
> > >
> >
>