Dealing with missing module and inverter types with PVLib - pvlib

I am looking through the SAM and CEC DBs for inverter and module types, as I am looking to do some forecasts.
As I don't find the correct types (SMA 2200CP and Canadian Solar CS6X310M), is there another resource to pull that data or can I create an addition to the dataframe when I export it from pvlib in python?
I am new, so please feel to correct me at any point.

pvlib-python should update their cec libraries, but in the meantime, you can download SAM from sam.nrel.gov, and access their updated libraries packaged with the newest version (2017.01.17 as of this writing). You can then specify those local files with the retrieve_sam function.
Note that the sam.nrel.gov website lists their libraries to be downloaded separately, but those are not the most recent versions. Probably the reason that the pvlib-python libraries haven't been updated is that they just check those files.

Related

Stanford CoreNLP caseless classifier in NLTK

I can't find the file english.conll.4class.caseless.distsim.crf.ser.gz from the zip file downloaded from http://nlp.stanford.edu/software/stanford-ner-2015-04-20.zip .Can anyone please tell me how to get that caseless classfier from Stanford CoreNLP?
I don't think they are giving a direct gz files for caseless but are deriving via a makefile script, I checked in linux versions aswell and its not available there too, and somehow they are building it via truecaser it seems, While I dont totally understand the mechanism, below is a pointer, where I see the references in stanford core nlp git hub.
https://github.com/stanfordnlp/CoreNLP/blob/d558d95d80b36b5b45bc21882cbc0ef7452eda24/scripts/ner/Makefile
You can search for "english.conll.4class.caseless.distsim.crf.ser.gz" in corenlp github for more pointers about it.
FYI.. you can also look at older versions, as its mentioned in the doc that they have provided them seperately.
For those who face the same problem;
Download model jar from https://stanfordnlp.github.io/CoreNLP/index.html#download (There is a table that lists different models for different languages) and open/extract the jar content(e.g I used WinRar) then go to edu/stanford/nlp/models/ner directory you can find the ser.gz files for any model.

Sitecore package uninstall

What is the best way to uninstall a package or a module in Sitecore?
I've seen suggestions to do it manually, but it is not very convenient way, especially when there were many templates, items, layouts, renderings and static files.
You can use Sitecore Rocks to create an "anti-package."
https://www.sitecore.net/nl-be/learn/blogs/technical-blogs/trevor-campbell/posts/2013/02/28-days-of-sitecore-rocks-package-management-part-1.aspx
I have never tested the Package History module that was mentioned, so I cannot comment as to whether that approach works.
Open the .zip file for the original package and look through the XML to figure out what files the package installed. Then back up your site and remove files and configuration nodes the package installed(assuming you are confident you understand what purpose the files and nodes have and what other components may rely on them). The Package History module may be taking this same approach, but you need to be certain that what you are deleting is not going to break anything.
Otherwise, I would recommend restoring to a backup made before you installed the package.

how to change the locale language on SAS?

the system options shows other than english on the SAS product, due to which some of the properties and also the help manual is not in english, how is it possible to change it? or do I have to install the SAS again?
As long as you installed the correct language(s), it's possible to run SAS in different languages. However, if you only installed one language, it will be sufficiently complicated that I would recommend an update installation (which is not a full reinstall).
This SAS technical support note covers this in some detail; it also recommends an update installation if you didn't install the language originally.
What you can do is look at the SASFoundation folder in your install, usually one more folder deep (the version), and then look at the nls folder. nls refers to language support, and it should have one folder for each language installed, including Unicode support and DBCS support. \nls\en will exist if you installed English.
If that's the case, you can edit your sasv9.cfg to point to the config file you want to use - ie, the \nls\en config file. It probably points to whatever you currently are running.
You also can on the fly run one or the other simply by including in the shortcut or launch program the -config option pointing to the config file you want.

Changing where Sitecore module is installed

I have a package I want to install. I would like the files to end up in a different directory than the installation wizard choses for them.
For example, my Sitecore copy is running at C:\SiteCore\website
The module added files to C:\SiteCore\website\Console
I would like the files to ultimately live at C:\SiteCore\website\sitecore_modules\Console
I am using Sitecore 6.5 rev 111230, but we are planning to upgrade very soon. I would like for my installed packages to migrate seamlessly once we have upgraded. For reference, the package I want to install at the moment is the Sitecore Powershell Extensions. Although, I would prefer to apply a similar method to any future packages that I install.
Is there a secret switch in the package installation process to allow me to do this? Can I do it from the package installation wizard? Is there another way to install packages?
I'm assuming I can't just change the package path and expect everything to keep working. Do I have to update a configuration somewhere (a file or inside the Sitecore CMS GUI) to make the package recognize the new file locations?
The module creator defines where files exist. If you move them you run the risk of something not working. The best idea is to ask the creator on the Marketplace page of the module.
There is no turn-key way to change this.
I guess you cand take the code from MarketPlace and you can modify it.
I don't know how exactly is the licenses with MarketPlace modules, but I think people can modify others code.
Please check on code and also on items, maybe on some fields are values for folder path.
I discovered a way to accomplish this, but it can be quite involved or even impossible, depending on the complexity and size of the package.
First of all, I did take the question to the module creator and had a very helpful and informative conversation with the creator. So thanks for that suggestion - they may even move the install location in a future release, based on my request.
The workaround is to first install the package on a system as normal. Then you figure out everything that comes with the package. For files, this is easy if your Sitecore root is under source control. For items, this is really complicated. You can search for the installed items by owner, if you had the foresight to create & use a unique user for the package installation. Or you can check the untyped files in the package that are essentially xml based item manifests.
Once you have a detailed list, you make the desired modifications to the locations. Then you recreate the package yourself using the Sitecore package designer.
This works for simple packages - I did it to one small package that I hope to get up on the Sitecore marketplace as shared source soon. And by small, I mean it was 2 files and 3 items. The package that prompted me to ask this question would not cooperate with this workaround. The included .dll had some assumptions about the file structure hard-coded into it.
The workaround I took for the more complex package was really quite basic: I just created a new source-code external to the required path. That let me wrap everything up neatly without getting medieval on the package files.
Thanks for both your answers, a very fine +1 to you.

Best way to deal with installing dependencies?

I have a library that I distribute to my customers. I'm exploring the idea of leaving my 3rd party dependencies as dynamically linked dependencies. In this case, deployment for my customers becomes more complicated, as they must install my dependencies before they can use my library. I am a bit new to this, so I have a broad question:
Assuming that all of my customers are on linux, Is an RPM package that simply installs the dependency .so files into system library directories the best route? From what I'm reading about RPMs, this isn't really the way they are meant to be used. I suppose that what I'm looking for is a sort of 'installer' for linux, but maybe such a thing doesn't exist.
Is the best way to just build a package that includes all of the relevant binaries (and licenses, where applicable), and has instructions on how to install?
You have multiple options:
static linking (if the licenses in play allow it)
support a range of distros and provide packages for all of them (viability depends on who your customers are) . Easiest option for your customers, most complicated one for you.
provide an installer that installs your application in a Windows-style self-contained dir structure (eg /opt/myapp or /home/someuser/myapp). Put the shared libraries in there to and start via a script with LD_LIBRARY_PATH set accordingly. I've seen this option used by Loki games, Adobe Reader, Google Earth and others.
Do not:
provide a custom installer that will copy your binaries and libraries in the standard directory structure. This may overwrite specific library versions needed for other apps your customer has. It also leaves a terrible mess as the distro's package management won't know about these files.
provide an rpm for everyone. On non-rpm distros, this would require your customers to manually convert the package to fit their package management system.