[23541] | 1 | %Test Name: SquareShelfTranSemic
|
---|
| 2 | md=triangle(model(),'../Exp/Square.exp',150000.);
|
---|
| 3 | md=setmask(md,'all','');
|
---|
| 4 | md=parameterize(md,'../Par/SquareShelf.par');
|
---|
| 5 |
|
---|
| 6 | % Use of SMBpddSicopolis
|
---|
| 7 | md.smb = SMBsemic();
|
---|
| 8 | % initalize pdd fields
|
---|
| 9 | md.smb=initialize(md.smb,md);
|
---|
| 10 | md.smb.s0gcm=md.geometry.surface;
|
---|
| 11 |
|
---|
| 12 | ONES=ones(md.mesh.numberofvertices,1);
|
---|
| 13 | for iday=0:365
|
---|
| 14 | md.smb.dailytemperature(1:md.mesh.numberofvertices,iday+1)=252.8739*ONES;
|
---|
| 15 | md.smb.dailytemperature(md.mesh.numberofvertices+1,iday+1)=((iday+1)/12);
|
---|
| 16 | md.smb.dailysnowfall(1:md.mesh.numberofvertices,iday+1)=8.5503e-09*ONES;
|
---|
| 17 | md.smb.dailysnowfall(md.mesh.numberofvertices+1,iday+1)=((iday+1)/12);
|
---|
| 18 | md.smb.dailyrainfall(1:md.mesh.numberofvertices,iday+1)=1.7296e-09*ONES;
|
---|
| 19 | md.smb.dailyrainfall(md.mesh.numberofvertices+1,iday+1)=((iday+1)/12);
|
---|
| 20 | md.smb.dailydsradiation(1:md.mesh.numberofvertices,iday+1)=128.1702*ONES;
|
---|
| 21 | md.smb.dailydsradiation(md.mesh.numberofvertices+1,iday+1)=((iday+1)/12);
|
---|
| 22 | md.smb.dailydlradiation(1:md.mesh.numberofvertices,iday+1)=176.5667*ONES;
|
---|
| 23 | md.smb.dailydlradiation(md.mesh.numberofvertices+1,iday+1)=((iday+1)/12);
|
---|
| 24 | md.smb.dailywindspeed(1:md.mesh.numberofvertices,iday+1)=6.0741*ONES;
|
---|
| 25 | md.smb.dailywindspeed(md.mesh.numberofvertices+1,iday+1)=((iday+1)/12);
|
---|
| 26 | md.smb.dailyairdensity(1:md.mesh.numberofvertices,iday+1)=1.0729*ONES;
|
---|
| 27 | md.smb.dailyairdensity(md.mesh.numberofvertices+1,iday+1)=((iday+1)/12);
|
---|
| 28 | md.smb.dailyairhumidity(1:md.mesh.numberofvertices,iday+1)=9.6667e-04*ONES;
|
---|
| 29 | md.smb.dailyairhumidity(md.mesh.numberofvertices+1,iday+1)=((iday+1)/12);
|
---|
| 30 | md.smb.dailypressure(1:md.mesh.numberofvertices,iday+1)=7.7841e+04*ONES;
|
---|
| 31 | md.smb.dailypressure(md.mesh.numberofvertices+1,iday+1)=((iday+1)/12);
|
---|
| 32 | end
|
---|
| 33 |
|
---|
| 34 | % time steps and resolution
|
---|
| 35 | md.timestepping.time_step=0.5;
|
---|
| 36 | md.settings.output_frequency=1;
|
---|
| 37 | md.timestepping.final_time=1;
|
---|
| 38 |
|
---|
| 39 | md.transient.issmb=1;
|
---|
| 40 | md.transient.ismasstransport=0;
|
---|
| 41 | md.transient.isstressbalance=0;
|
---|
| 42 | md.transient.isthermal=0;
|
---|
| 43 |
|
---|
| 44 | md.transient.requested_outputs={'default','TemperatureSEMIC'};
|
---|
| 45 | md.cluster=generic('name',oshostname(),'np',4); % 3 for the cluster
|
---|
| 46 | md=solve(md,'Transient');
|
---|
| 47 |
|
---|
| 48 | %Fields and tolerances to track changes
|
---|
| 49 | field_names ={'TemperatureSEMIC1','SmbMassBalance1','TemperatureSEMIC2','SmbMassBalance2'};
|
---|
| 50 | field_tolerances={1e-13,1e-13,1e-13,1e-13};
|
---|
| 51 | field_values={...
|
---|
| 52 | (md.results.TransientSolution(1).TemperatureSEMIC),...
|
---|
| 53 | (md.results.TransientSolution(1).SmbMassBalance),...
|
---|
| 54 | (md.results.TransientSolution(2).TemperatureSEMIC),...
|
---|
| 55 | (md.results.TransientSolution(2).SmbMassBalance),...
|
---|
| 56 | };
|
---|