Changeset 15025


Ignore:
Timestamp:
05/14/13 15:27:16 (12 years ago)
Author:
adhikari
Message:

some clean up

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

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/modules/GiaDeflectionCorex/GiaDeflectionCorex.cpp

    r15024 r15025  
    3131struct blocks{
    3232        double aswokm;
    33         double asrpos;
    34         double swok;
    3533};
    3634
    3735extern "C" {
    38         int distme_( int* pidisk,int* piedge, int* pNtime, int* pNtimp, int* pNtimm, int* pNafter,double* time,double* bi,double* dmi,double* zhload,double* hload);
     36        int distme_(int* pNtime,int* pNtimp,int* pNtimm,double* time,double* bi,double* dmi,double* zhload);
    3937
    40         int what0_( int* pidisk,int* piedge,int* pNtimp,int* pNtimm,double* time,double* bi,double* dmi);
     38        int what0_(int* piedge,int* pNtimp,int* pNtimm,double* time,double* bi,double* dmi);
    4139        extern struct blockp blockp_;
    4240        extern struct blocko blocko_;
     
    7472        int numtimes; //loading history length
    7573        IssmDouble currenttime;
    76         int Ntime=5; // number of times with load history
    77         int Ntimm;  // Ntime-1 : for slope/y-cept of load segments
     74        int Ntime; // number of times with load history
     75        int Ntimm; // Ntime-1 : for slope/y-cept of load segments
    7876        int Ntimp; // Ntime+1 : for evaluation time 
    79         int Nafter;
    8077        IssmDouble* blockt_time=NULL;
    8178        IssmDouble* blockt_bi=NULL;
    8279        IssmDouble* blockt_dmi=NULL;
    8380        IssmDouble* blocky_zhload=NULL;
    84         IssmDouble* blocko_hload=NULL;
    8581
    8682        /*gia material parameters: */
     
    124120        //from our model, irate comes in with values in [1,2], which maps into [0,1] in naruse:
    125121        irate=irate-1;
    126         Nafter=1;
    127122        Ntime=numtimes;
    128123        Ntimm=Ntime-1;
    129         Ntimp=Ntime+Nafter;
     124        Ntimp=Ntime+1;
    130125
    131126        /*Prepare block inputs for fortran distme and what0 routines of the naruse code: {{{*/
     
    141136
    142137        /*loading history: */
    143         blocky_zhload=xNew<IssmDouble>(numtimes);
    144         for(i=0;i<numtimes;i++){
     138        blocky_zhload=xNew<IssmDouble>(Ntime);
     139        for(i=0;i<Ntime;i++){
    145140        blocky_zhload[i]=hes[i];
    146141        }
    147142
    148         /*times: */
    149         blockt_time=xNew<IssmDouble>(numtimes+1);
    150         for (i=0;i<numtimes+1;i++){
    151                 blockt_time[i]=times[i]/1000.0/yts; //in kyr
    152                 if(i==numtimes-1)blockt_time[i]=2500.0;                 // in kyr 
    153                 if(i==numtimes)blockt_time[i]=times[numtimes-1]/1000.0/yts;
     143        /*times in kyr: */
     144        blockt_time=xNew<IssmDouble>(Ntimp);
     145        for (i=0;i<Ntimp;i++){
     146                blockt_time[i]=times[i]/1000.0/yts;
     147                if(i==numtimes-1)blockt_time[i]=times[numtimes-1]/1000.0/yts; // final loading time, same as evaluation time
     148                if(i==numtimes)blockt_time[i]=times[numtimes-1]/1000.0/yts;   // evaluation time
    154149        }
    155150
    156151        /*bi: */
    157         blockt_bi=xNew<IssmDouble>(numtimes-1);
     152        blockt_bi=xNew<IssmDouble>(Ntimm);
    158153
    159154        /*dmi: */
    160         blockt_dmi=xNew<IssmDouble>(numtimes-1);
     155        blockt_dmi=xNew<IssmDouble>(Ntimm);
    161156       
    162         /*hload:*/
    163         blocko_hload=xNew<IssmDouble>(numtimes);
    164 
    165157        /*irate: */
    166158        blockn_.irate=irate;
     
    171163
    172164        /*Call distme driver: */
    173         distme_(&idisk,&iedge,&Ntime,&Ntimp,&Ntimm,&Nafter,blockt_time,blockt_bi,blockt_dmi,blocky_zhload,blocko_hload);
     165        distme_(&Ntime,&Ntimp,&Ntimm,blockt_time,blockt_bi,blockt_dmi,blocky_zhload);
    174166
    175167        /*Call what0 driver: */
    176         what0_(&idisk,&iedge,&Ntimp,&Ntimm,blockt_time,blockt_bi,blockt_dmi);
     168        what0_(&iedge,&Ntimp,&Ntimm,blockt_time,blockt_bi,blockt_dmi);
    177169
    178170        /*output solution: */
     
    193185        xDelete<IssmDouble>(blockt_dmi);
    194186        xDelete<IssmDouble>(blocky_zhload);
    195         xDelete<IssmDouble>(blocko_hload);
    196187
    197188}
  • issm/trunk-jpl/src/c/modules/GiaDeflectionCorex/distme.f

    r15016 r15025  
    1       subroutine distme(idisk,iedge,Ntime,Ntimp,Ntimm,Nafter,time,bi,
    2      &dmi,zhload,hload)
     1      subroutine distme(Ntime,Ntimp,Ntimm,time,bi,dmi,zhload)
    32      implicit double precision (a-h,o-y)
    4       integer idisk,iedge,Ntime,Ntimp,Ntimm,Nafter
    5       parameter (N3G = 1)
     3      integer Ntime,Ntimp,Ntimm
     4      parameter (Nafter=1)
    65      double precision pset(7)
    76      double precision time(Ntimp),dmi(Ntimm),bi(Ntimm),dumbt(Ntimp)
    87      double precision hload(Ntime),qpat(Ntime),qt(Ntime)
    9       double precision zradii(N3G),zhload(Ntime),rhoi,distrad
     8      double precision zhload(Ntime),rhoi,distrad
    109c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    1110      common /blockp/ pset
     
    2221      dumbt(k) = time(k)
    2322  776 continue
    24 c      write(6,*) time(1), time(2), time(3)
     23      write(6,*) time(1), time(2), time(3), time(4),time(5)
    2524c      write(6,*) pset(1), pset(2), pset(3), pset(4), pset(5), pset(6)
    2625c      write(6,*) pset(7)
  • issm/trunk-jpl/src/c/modules/GiaDeflectionCorex/what0.f

    r15024 r15025  
    1       subroutine what0(idisk,iedge,Ntimp,Ntimm,time,bi,dmi)
     1      subroutine what0(iedge,Ntimp,Ntimm,time,bi,dmi)
    22      implicit double precision (a-h,o-z)
    33      integer Ntimp,Ntimm
     
    3939      dk = endk/dfloat(nhank)
    4040c
    41       if(idisk.gt.1) go to 7001
    4241      ak = zero
    4342      do 7000 ik = 1,nhank
     
    7372      zksamp(ik) = zkp
    7473 7000 continue
    75  7001 continue
    7674c ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    7775c The following looped call sets up the free solution convolved with the
Note: See TracChangeset for help on using the changeset viewer.