Changeset 19325


Ignore:
Timestamp:
04/24/15 18:08:41 (10 years ago)
Author:
schlegel
Message:

CHG: make accumulation and melt outputs

Location:
issm/trunk-jpl/src/c
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Elements/Element.cpp

    r19309 r19325  
    16851685        int        i;
    16861686        IssmDouble* agd=xNew<IssmDouble>(numvertices); // surface mass balance
     1687        IssmDouble* melt=xNew<IssmDouble>(numvertices); // surface mass balance
     1688        IssmDouble* accu=xNew<IssmDouble>(numvertices); // surface mass balance
    16871689        IssmDouble* monthlytemperatures=xNew<IssmDouble>(12*numvertices);
    16881690        IssmDouble* monthlyprec=xNew<IssmDouble>(12*numvertices);
     
    17481750        for (int iv = 0; iv<numvertices; iv++){
    17491751                agd[iv]=PddSurfaceMassBalance(&monthlytemperatures[iv*12], &monthlyprec[iv*12],
    1750                                         pdds, pds, signorm, yts, h[iv], s[iv],
     1752                                        pdds, pds, &melt[iv], &accu[iv], signorm, yts, h[iv], s[iv],
    17511753                                        desfac, s0t[iv], s0p[iv],rlaps,rlapslgm,TdiffTime,sealevTime,
    17521754                                        rho_water,rho_ice);
     
    17721774                        this->inputs->AddInput(new TriaInput(TemperatureEnum,&yearlytemperatures[0],P1Enum));
    17731775                        this->inputs->AddInput(new TriaInput(SurfaceforcingsMassBalanceEnum,&agd[0],P1Enum));
     1776                        this->inputs->AddInput(new TriaInput(SurfaceforcingsAccumulationEnum,&accu[0],P1Enum));
     1777                        this->inputs->AddInput(new TriaInput(SurfaceforcingsMeltEnum,&melt[0],P1Enum));
    17741778                        break;
    17751779                case PentaEnum:
     
    18001804        xDelete<IssmDouble>(monthlyprec);
    18011805        xDelete<IssmDouble>(agd);
     1806        xDelete<IssmDouble>(melt);
     1807        xDelete<IssmDouble>(accu);
    18021808        xDelete<IssmDouble>(yearlytemperatures);
    18031809        xDelete<IssmDouble>(h);
  • issm/trunk-jpl/src/c/shared/Elements/PddSurfaceMassBalance.cpp

    r19172 r19325  
    88
    99IssmDouble PddSurfaceMassBalance(IssmDouble* monthlytemperatures, IssmDouble* monthlyprec,
    10                                  IssmDouble* pdds, IssmDouble* pds, IssmDouble signorm,
    11                                  IssmDouble yts, IssmDouble h, IssmDouble s, IssmDouble desfac,
     10                                 IssmDouble* pdds, IssmDouble* pds, IssmDouble* melt, IssmDouble* accu,
     11                                 IssmDouble signorm, IssmDouble yts, IssmDouble h, IssmDouble s, IssmDouble desfac,
    1212                                 IssmDouble s0t,IssmDouble s0p, IssmDouble rlaps,IssmDouble rlapslgm,
    1313                                 IssmDouble TdiffTime,IssmDouble sealevTime,
     
    216216    Tsurf= min(Tsurf+fsupT*diffndd , 0.);}
    217217
    218   B = -smelt+saccu;
     218  melt[0]=smelt/yts;
     219  accu[0]=saccu/yts;
     220  B = saccu - smelt;
    219221  B = B/yts;
    220222  pddtj=pddt;
  • issm/trunk-jpl/src/c/shared/Elements/elements.h

    r19172 r19325  
    1414// IssmDouble LliboutryDuval(IssmDouble temperature, IssmDouble waterfraction, IssmDouble depth,IssmDouble n);
    1515IssmDouble PddSurfaceMassBalance(IssmDouble* monthlytemperatures,  IssmDouble* monthlyprec,
    16                                  IssmDouble* pdds, IssmDouble* pds,IssmDouble signorm, IssmDouble yts,
    17                                  IssmDouble h, IssmDouble s, IssmDouble desfac,IssmDouble s0t,
     16                                 IssmDouble* pdds, IssmDouble* pds, IssmDouble* melt, IssmDouble* accu, IssmDouble signorm,
     17                                 IssmDouble yts, IssmDouble h, IssmDouble s, IssmDouble desfac,IssmDouble s0t,
    1818                                 IssmDouble s0p, IssmDouble rlaps, IssmDouble rlapslgm,
    1919                                 IssmDouble TdiffTime,IssmDouble sealevTime,
Note: See TracChangeset for help on using the changeset viewer.